ParseRat是一个很久以前的旧程序。我需要在c:\wherefilesare
中转置文本文件。
我在下面运行它就死了:
echo on
setlocal EnableDelayedExpansion
cd c:\wherefilesare
SET progdir=C:\program files (x86)\ParseRat
for%%x in (*.txt) do ("%%progdir%\parserat.exe" "%%x.txt" "%%progdir%\test.prz" "%%x.csv"
答案 0 :(得分:0)
正如@Squashman所说:
"您(拥有)所有(环境)变量的额外百分比符号。您也没有正确使用FOR元变量。基本上
%%x
扩展为具有扩展名的实际文件名。因此它会看到file1.txt.txt
和file1.txt.csv
。您需要使用命令修饰符。%%~nx
只获取没有扩展名的文件名。"
另外,你错过了一个右括号......
echo on
setlocal EnableDelayedExpansion
cd c:\wherefilesare
SET progdir=C:\program files (x86)\ParseRat
for %%x in (*.txt) do (
"%progdir%\parserat.exe" "%%~nx.txt" "%progdir%\test.prz" "%%~nx.csv"
)