【发布时间】:2011-08-23 08:03:31
【问题描述】:
我正在尝试使用 Shell() 命令通过 VB.NET 运行命令行参数。
我正在尝试使用这段代码:
FOR /R %I in (*.pdf) DO @pdf2swf.exe "%~fI" -o "%~dpI%~nI.swf" -f -T 9
-t -G
使用这个:
Shell("FOR /R %I in (*.pdf) DO @pdf2swf.exe "%~fI" -o "%~dpI%~nI.swf" -f -T 9
-t -G ")
但是,解释器给了我这个错误:
Character is not valid. (BC30037)
对于%~ 部分。
我还尝试创建一个字符串并使用 Shell(StringName) 将参数传递给 Shell() 命令,但字符串中仍然出现相同的错误。
我该如何解决这个问题?
【问题讨论】:
-
你需要转义你的内部引号
-
我试过了,但程序仍然在那一行崩溃
-
@Jodrell
System.IO.FileNotFoundException: File not found. -
@Brian - 那是一个新错误,我认为这是不言自明的。
-
@Tim 是的,但是如果它是命令行参数,它需要什么文件?此外,pdf2sfw.exe 在文件夹中。
标签: vb.net shell command-line cmd