我试图在vb.net中使用shell函数来运行程序,然后将结果写入/导出其中,它适用于win8 但不是XP !!命令行打印此错误
' C:\文件'不被视为内部或外部命令, 可操作程序或批处理文件。 按任意键继续 。 。
Dim save as String="C:\exported.txt"
Dim command As String = tempPath & "app.exe -f " & IO.Path.GetTempPath & " -o " & save & " & pause"
shell("cmd /c " & command, AppWinStyle.NormalFocus, True)
答案 0 :(得分:1)
Process.Start(IO.Path.Combine(tempPath, "app.exe"), "-f """ & IO.Path.GetTempPath & """ -o """ & Save() & """ & pause")
答案 1 :(得分:0)
您在命令中有一个文件夹,其中有一个空格(可能是文档和“设置”文件夹)。 cmd.exe无法判断空间是在文件名中还是在文件名末尾,除非您将文件名放在“”中,如“C:\ doxuments and Settings ...”
Dim command As String = tempPath & "app.exe -f \"" & IO.Path.GetTempPath & "\" -o \"" & save & "\" & pause"
(\“旨在转义”以便它转换为在字符串中嵌入“。我不确定VB语法是什么。)
编辑:
我认为@Roy van der Velde下面的'逃避正确。未检查的最后一部分是tempPath。看看我对这个问题的评论。