这是我的第一篇帖子,因为我在编写一个批处理文件时遇到了一些麻烦,需要循环遍历子文件夹,并将子文件夹名称用作命令中的变量。我已经成功地完成了代码,并且它可以运行,但是它会不断重复使用主目录中最后一个文件夹名称。它无法找到并循环遍历其他子文件夹。
SETLOCAL EnableDelayedExpansion
SET MYPATH=H:\RAWBDA\001076\host
for /d %%a in (%mypath%\*) do set "folderName=%%a"
echo %folderName%
for /d %%f in (%folderName%) do set myfolder=%%~nxf
echo %myfolder%
FOR /d /r %%i IN ('DIR /B %mypath%*.tif') DO (
trial.exe "%foldername%\%myfolder%_B4.tif" "%foldername%\%myfolder%_B3.tif" "%foldername%\%myfolder%_B2.tif" "%foldername%\%myfolder%_B432.tif"
)
我认为问题在于FolderName和myFolder在循环外部,但我无法使它们在循环内动态更新。
非常感谢您的帮助。
LT50010762006058COA00
主目录(H:\ RAWBDA \ 001076 \ host)通常有10-50个试用程序的期望命令行对于第一个子文件夹如下所示:trial.exe "H:\RAWBDA\001076\host\LT50010762006058COA00\LT50010762006058COA00_B4.tif" "H:\RAWBDA\001076\host\LT50010762006058COA00\LT50010762006058COA00_B3.tif" "H:\RAWBDA\001076\host\LT50010762006058COA00\LT50010762006058COA00_B2.tif" "H:\RAWBDA\001076\host\LT50010762006058COA00\LT50010762006058COA00_B432.tif"
- burt46.tif
文件。然而,如果您注意到我的代码,我手动选择顺序(_B4、_B3、B2和_B432),这样“trial”就可以使用正确的.tif
运行。 - burt46