我有一个.exe文件,当我从命令行运行它时需要两个参数:
test_app.exe -vid.avi -data.txt
如何通过批处理脚本START
.exe
文件并将其传递给那些参数?
如果我有多个.avi
和.txt
个文件需要通过.exe
传递给START
文件,我怎样才能拥有一个变量通过所有这些文件一次两个? (将每个.avi
与其对应的.txt
配对。
我们假设每对.avi
和.txt
共享相同的名称,但显然有不同的扩展名。
我需要写这样的东西:
@ECHO OFF
START test_app.exe -vid.avi -data.txt
pause
但参数应该是每次通过.exe
处理一对参数时递增的变量,因此它将循环到CWD中的所有文件。
尝试这样做,但似乎START不能这样做?
@echo off
for %%a in (*.avi) do (
START Tester.exe -%%a -%%~na.txt
)
pause
答案 0 :(得分:3)
试试这个,它适用于AVI作为主扩展,你可以改变这个:
@echo off &setlocal enabledelayedexpansion for %%i in (*.avi) do ( set "line=" for %%j in ("%%~ni.*") do set line=!line! -"%%~j" start "" test_app.exe !line! )
答案 1 :(得分:2)
尝试使用avi文件。它只会回显一堆命令,你可以看到它的作用。 - 迹象似乎有点奇怪,但我把它们包括在名字中。
@echo off
for %%a in (*.avi) do (
echo exe.file "-%%a" "-%%~na.txt"
)
pause