对于循环批处理文件模具调用Windows转换工具

时间:2018-03-14 18:38:04

标签: parsing batch-file for-loop

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"

1 个答案:

答案 0 :(得分:0)

正如@Squashman所说:

  

"您(拥有)所有(环境)变量的额外百分比符号。您也没有正确使用FOR元变量。基本上%%x扩展为具有扩展名的实际文件名。因此它会看到file1.txt.txtfile1.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"
)