作者KawasumiMai (ご注文はうさぎですか)
看板Visual_Basic
标题[.NET] 呼叫外部程序 引数 复数+空白
时间Tue Jun 17 01:35:03 2014
如题
使用System.Diagnostics.Process.Start()呼叫外部程序
要带入引数时
需要Start(".exe","args")
如果要复数的时候
则使用空白分隔
如Start(".exe","arg1 arg2")
那如果本身引数也有空白呢?(如路径)
试过拆开宣告
Dim hPsInfo As New System.Diagnostics.ProcessStartInfo()
hPsInfo.FileName = ".exe"
hPsInfo.Arguments = "A B C D E"
但是这样写他会视为5个引数
如果要弄成三个引数
"A"
"B"
"C D E"
要怎麽写?
Google上一堆 "\" """ 之类的穿插有看没有懂
--
▊▍▃▄▅▅▅▃▃▁▍▉ █▏ ▌ ◤『われ刃向けるは
アヤカシのみ。
▏ ▅●
● " ▃
▄▊ ▉ ▎ ▊ ▎ 吾斩り伏せるは
アヤカシのみ。
▎◤▊▌ 。 .
▎◥ ▋ ▋ ▉ ▍ ◤ ▊ ▎ 私は...
▍▏▉█▄▂▁●
▏◢ ▏ ▊▌ ▌▋◥ ◤◤▋▃ 魔物を讨つ者だから...』
▋▎▇▆▄▂
▅▂▁ ▍▎ ▍▎ ▊ ▌◣ ◢▊ ▍▋ ψKawasumiMai▄
▉▎ ′′ ▌ ▍▋▌ ▍ ▏ ▉ ▋▊ ▄▄▄川澄 舞▄
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.42.116.130
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Visual_Basic/M.1402940106.A.FAB.html
1F:推 putumaxally:双引号之间为字串,有空格的路径要用双引号括起来 06/17 03:44
2F:→ putumaxally:所以在字串里面打双引号会被认为是前一个双引号的结尾 06/17 03:45
3F:→ putumaxally:要告诉编译器我要打双引号这个字元就必须使用跳脱字元 06/17 03:46
4F:→ putumaxally:反斜线加上某些字元称为跳脱字元 06/17 03:46
5F:→ putumaxally:要在一个字串里面打双引号,如果写成""",编译器会 06/17 03:48
6F:→ putumaxally:认为前面两个双引号组成一个字串,所以要打双引号字元 06/17 03:49
7F:→ putumaxally:要在前面加上反斜线,跟编译器说我是要打双引号这个 06/17 03:50
8F:→ putumaxally:字元,而不是字串的开头或结尾 06/17 03:50
9F:→ putumaxally:Ex. "\"C:\Program Files\"" 06/17 03:52
10F:→ putumaxally:第一个"代表字串的开头,第一个\"代表双引号字元 06/17 03:52
11F:→ putumaxally:第二个\"代表双引号这个字元,最後面的"代表字串结尾 06/17 03:53
12F:→ KawasumiMai:感谢楼上回应,跳脱字元的概念在正规里面有遇过所以 06/17 10:53
13F:→ KawasumiMai:可以理解,可是有点无法理解如果加上空白会变什麽样子 06/17 10:53
14F:→ KawasumiMai:像是"\ "好像也不会把空白跳脱? 06/17 10:54
15F:→ KawasumiMai:如果原本是"A B C D E"要分三组 06/17 10:54
16F:→ KawasumiMai:是写成"\"A\" \"B\" \"C D E\"" 吗 06/17 10:54
17F:→ MOONRAKER:非常幽默。 06/17 12:50