BAT文件中的重定向操作符给出"无法打开输出文件>"

时间:2017-03-24 05:19:10

标签: windows batch-file io-redirection

我有一个BAT脚本,最后一行是问题

SET program=%1
SET PWD=%cd%

cd "%~dp0"

"%PWD%\%program%" "filename.txt" ^> "%PWD%\Output.txt" 2^>^&1

这正确地吐出来:

  

" C:\路径\的Program.exe" " FILENAME.TXT" > " C:\路径\ Output.txt的" 2 - ;&安培; 1

然而,它说

  

无法打开输出文件>

继续使用脚本,不创建任何文件。如果我复制并粘贴吐出的东西,它就会完美运行。

注意:行为在升高的CMD中也是可重现的。

那么,如何在批处理脚本中运行EXE,并将stdoutstderr重写为同一文件,而不会出现访问错误?

1 个答案:

答案 0 :(得分:1)

所以你的program.exe接受一个filename.txt参数并输出所有到Output.txt

尝试不使用^ simbols:

"C:\path\program.exe filename.txt" > "C:\Path\Output.txt" 2>&1

批处理不能要求权限。如果您在c:\下,则需要使用管理权限执行bat文件。