批处理文件中的多个exe,txt作为参数

时间:2018-01-21 18:07:30

标签: batch-file

我有一个txt文件,每行都有一个文本,这个文本必须使用-p传递给exe文件,这会创建一个新文件,其名称由-f

给出
test2.exe line1.config line1.bin

然后将配置文件作为参数传递,如下所示

line1
line2
line3
line4

我试图使用批处理窗口自动化此过程,因为我想实现

file.txt的

test1.exe -p line1 -f line1.config
test1.exe -p line2 -f line2.config
test1.exe -p line3 -f line3.config
test1.exe -p line4 -f line4.config
test2.exe line1.config line1.bin
test2.exe line2.config line2.bin
test2.exe line3.config line3.bin
test2.exe line4.config line4.bin
del line1.config
del line2.config
del line3.config
del line4.config

等等

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('type file.txt') do (
    test1.exe -p %%a -f %%a.config
    test2.exe %%a.config %%a.bin
    del %%a.config
)
你可以给我一个建议吗?

解决方案:

arm-linux-gnueabihf-g++

2 个答案:

答案 0 :(得分:0)

假设您希望将配置的名称命名为' line1.config'等(并没有以行的实际内容命名),你可以这样做:

@echo off

set line=0
for /F "delims=" %%a in (file.txt) do call :exec "%%a"
exit /B 0

:exec
set /A line=%line%+1
echo test1.exe -p %1 -f line%line%.config
echo test2.exe line%line%.config line%line%.bin
echo del line%line%.config
exit /B 0

如果您乐意执行实际操作,请删除“回声”。

答案 1 :(得分:0)

@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('type file.txt') do (
    test1.exe -p %%a -f %%a.config
    test2.exe %%a.config %%a.bin
    del %%a.config
)