首页 > 解决方案 > 创建多个 *.bat 文件

问题描述

我有一个 bat 文件,我在其中运行一个程序( PROGRAM_NAME),其中包含多个参数集( input1.txt, input2.txt, ..., inputn.txt) ,如下所示:

运行.bat

pushd path
PROGRAM_NAME input1.txt
move RESULT another_path
...
pushd path
PROGRAM_NAME inputn.txt
move RESULT another_path

现在我想像这样*.bat并行运行这个文件:

run_1.bat

pushd path
PROGRAM_NAME input1.txt
move RESULT another_path

运行_n.bat

pushd path
PROGRAM_NAME inputn.txt
move RESULT another_path

我怎样才能做到这一点?

标签: batch-filetextsplit

解决方案


要启动另一个进程(需要并行运行某些东西),请使用start命令。/d开关设置新进程的工作文件夹(而不是你的)pushd。用于&在第一个命令完成后立即执行第二个命令。您需要使用插入符号对其进行转义^,否则它将被解释为(start program) & move而不是start (program & move)

for /l %%i in (1,1,5) do (
  start "%%i" /d "path" PROGRAM_NAME Input%%i.txt ^& move result another_path\
)

(注意:根据PROGRAM_NAME这个可能没有一些适应就行不通)


推荐阅读