我试图从我的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
答案 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自行启动时使用的目录不同。