这个批处理echo命令有什么问题?

时间:2014-08-05 17:39:45

标签: batch-file

此代码似乎没有做任何事情。

echo WshShell.Run chr(34) ^& "C:\Users\"^&strUser^&"\AppData\Roaming\turtle\turtle.bat" ^& Chr(34), 0>>run.vbs

2 个答案:

答案 0 :(得分:0)

尝试这样:

echo WshShell.Run chr(34) ^& "C:\Users\"^&strUser^&"\AppData\Roaming\turtle\turtle.bat" ^& Chr(34), 0 >>run.vbs

答案 1 :(得分:0)

问题是重定向前面的0被解释为stdin文件流而不是字符串文字。为了将来参考,1是stdin,2是stdout。数字3-9未定义,但也可能导致问题。

SachaDee的解决方案工作正常,但它为输出添加了一个尾随空格。

您可以使用括号来避开尾随空格,但这需要在输出中转义)

(echo WshShell.Run chr(34^) ^& "C:\Users\"^&strUser^&"\AppData\Roaming\turtle\turtle.bat" ^& Chr(34^), 0) >>run.vbs

更简单的解决方案是将重定向移到前面。

>>run.vbs echo WshShell.Run chr(34^) ^& "C:\Users\"^&strUser^&"\AppData\Roaming\turtle\turtle.bat" ^& Chr(34^), 0