我有2个批处理文件。将参数从一个批处理文件传递到另一个批处理文件
第一个需要一个输入参数,它是父文件夹的路径。它读取父文件夹内所有子文件夹的名称,并为每个子文件夹执行第二批文件。
批处理文件1
@echo off
for /d %%Y in (%1/*) do (
set SubfolderNameAndPath=%%Y
call batch2.bat %SubfolderNameAndPath%
)
第二批文件使用作为输入自变量的SubfolderNameAndPath以及所有存在于每个子文件夹中的文件执行一个Evaluate.exe。它将Evaluate.exe的结果保存到文本文件“results”中,其扩展名为每次访问子文件夹的名称。 (results_%~n1.txt
)。
批处理文件2
@echo off
for %%X in (%1/*) do (
echo Evaluate.exe %%X AnotherArgumentHere -o results_%~n1.txt
)
当我运行BATCH1(batch1.bat ParentFolderPath
),即使它似乎调用batch2.bat,不执行batch2.bat。我相信我定义batch2.bat的输入参数的方式出了问题,但我无法弄清楚它是什么。
%SubfolderNameAndPath%
不包含任何空格。文件夹的路径都没有。 我真的很感激你的帮助。
待办事项'%SubfolderNameAndPath%'中的任何值在名称和/或路径中都有空格? – LittleBobbyTables
@LittleBobbyTables路径和'%SubfolderNameAndPath%'都不包含任何空格。 – athanell