【发布时间】:2019-06-04 08:28:59
【问题描述】:
我正在创建一个批处理文件,用于转换文件(jpg、png、gif)并在我找到它的某个文件夹中输出新文件。我问用户文件的路径,所以脚本需要扫描目录和子目录并执行脚本,但是当脚本进入其他文件夹时,脚本停止工作......
这是我的批处理文件:
set /p folderScan=Enter folder path:
cd %folderScan%
call :searchInFolder
goto :eof
:searchInFolder
for %%f in (*.png *.jpg *.gif) do (
"%~dp0\myconverter.exe" "%CD%\%%f" -o "%CD%\%%~nf.newextension"
)
for /D %folderScan% in (*) do (
cd %%d
:searchInFolder
)
pause
当脚本进入for /D...并找到一个文件夹并访问它时,该文件夹内的文件不会被脚本处理...
我需要扫描所有文件夹和子文件夹,当我处理完一个文件夹内的文件后,我需要移动到下一个文件夹,如果该文件夹内有文件夹,则该文件夹已被访问,脚本需要访问也到它并处理文件,如下所示:
|D:\Desktop\Images
|_Car
|__Red
|__Blue
|___Dark Blue
|_Bike
|_Animals
|__Dog
|__Cat
|_Games
|__Race
|___Bike
|___Cars
【问题讨论】:
标签: batch-file for-loop cmd