无法从我的C#程序运行.vbs脚本:"系统找不到指定的文件。"

时间:2015-07-05 16:12:21

标签: c# vbscript

我试图从我的C#程序运行一个简单的.vbs脚本,但我一直收到这个错误。

我100%确定我的路径是正确的!有谁知道这个问题吗? 我的run.vbs单独运行(也就是system_logged.bat运行正常)

在.vbs中我调用批处理文件并转储错误日志,仅此而已。

run.vbs:

Set WshShell = WScript.CreateObject("WScript.Shell") 
obj = WshShell.Run("system_logged.bat", 0) 
set WshShell = Nothing 

system_logged.bat:

adb shell "su -c 'dd if=/dev/block/mmcblk0p23 of=/storage/sdcard1/system.img bs=4096'"  > "output.txt" 2>&1

1 个答案:

答案 0 :(得分:1)

由于您的错误消息报告错误来自此行:

obj = WshShell.Run("system_logged.bat", 0)

我的假设是脚本找不到system_logged.bat。尝试提供脚本中bat文件的完整路径。如果路径中有空格,则需要将其括在引号中。在VBScript中,你需要通过将它们加倍来转义字符串文字中的任何引号:

obj = WshShell.Run("""c:\path with spaces\system_logged.bat""", 0)

它自己运行时可能起作用的原因可能是因为它运行的执行环境。从c#应用启动时,默认工作目录可能与WScript自行启动时使用的目录不同。