我的脚本如下:
for %%i in (*.mudp) do echo %%i >> test.txt
@ECHO OFF
SETLOCAL
:: remove variables starting $
FOR /F "delims==" %%i In ('set $ 2^>Nul') DO SET "%%i="
FOR /f "delims=" %%i IN (test.txt) DO SET $%%i=Y
(FOR /F "delims=$=" %%i In ('set $ 2^>Nul') DO ECHO %%i)>test.txt
for /f %%C in ('Find /V /C "" ^< test.txt') do set Count=%%C
echo The file has %Count% lines.
@echo off
cd "C:\Users\gbyraiah\pcap\createPcap\Debug"
start createPcap.exe %Count%
exit
我将当前目录中扩展名为.mudp
的所有文本文件列入Windows中的test.txt
文件。
然后计算列表中的文件数量,如果找到2个Count
文件,我的2
值为.mudp
。
然后我想打开Visual Studio .exe
,循环.exe
运行它的次数等于Count
,并将count作为命令行参数传递给exe。
所以我的问题是我无法运行.exe
因此我无法循环。
答案 0 :(得分:0)
只需编写yourExecutable.exe
即可启动它;写yourExecutable.exe 1
来传递参数1
。
要使用1
中的参数到%Count%
的值在循环中执行此操作,请执行以下操作:
for /L %%J in (1,1,%Count%) do yourExecutable.exe %%J
根本不需要start
command来运行.exe
。注意start
在新进程中运行.exe
,因此批处理脚本不会等待.exe
完成,除非您提供切换/WAIT
(如{ {1}}; start "" /WAIT yourExecutable.exe
是可能打开的新窗口的标题,应始终指定该窗口以避免路径引用出现问题。