我有一个可执行文件,称之为exec1.exe
我有一堆扩展名为.txt的文件,我想在其上运行exec1.exe并将输出重定向到输出文件中某处原始文件名的文本文件。我正在运行命令
for %i in (mydir\\*.txt) do exec1 %i > "%i2.txt"
但是这会尝试在第一个文本文件text1.txt上运行,
exec1 exec1text1.txt > exec1text1.txt2.txt
但我想要
exec1 text1.txt > text1.txt2.txt
知道出了什么问题吗?
答案 0 :(得分:0)
如果从批处理文件中运行,你可能可以使用({{1>}加倍):
%
注意强>
我使用for %i in ("mydir\*.txt") do @start "" exec1.exe -y 754 "%i">"%~ni2.txt"
代替%~ni2
来写入当前目录。这是因为在阅读%i2
时,您的命令将输出到.txt
。另一种方法是使用不同的已知路径,例如*.txt