假设我有一个像这样的文本文件
node1.log
node2.log
node3.log
node4.log etc...
我想逐行阅读并执行
alan.exe node1.log node2.log
alan.exe node3.log node4.log
等。
实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
@echo off
setlocal EnableDelayedExpansion
for /F "delims=" %%a in (file.txt) do (
if not defined line (
set "line=%%a"
) else (
ECHO alan.exe !line! %%a
set "line="
)
)
答案 1 :(得分:0)
试一试。 File.txt将包含您的日志文件名。
@echo off
setlocal enabledelayedexpansion
FOR /F "delims=" %%G IN ('find /c /v "" ^<file.txt') DO SET NUM=%%G
SET /A NUM=NUM / 2
< file.txt (
FOR /L %%G IN (1,1,%NUM%) DO (
SET /P LINE1=
SET /P LINE2=
echo mypgm.exe !LINE1! !LINE2!
)
)
pause
输出
mypgm.exe node1.log node2.log
mypgm.exe node3.log node4.log
mypgm.exe node5.log node6.log
Press any key to continue . . .
删除 echo 一词,并将mypgm.exe替换为您要运行的程序。回声只是在那里进行概念验证。
答案 2 :(得分:0)
像这样:
@echo off
setlocal enabledelayedexpansion
set args=
set n=2
for /f "tokens=*" %%x in (file.txt) do (
set args=!args! %%x
set /a n -= 1
if !n! EQU 0 (
alan !args!
set args=
set n=2
)
)