【发布时间】:2020-09-20 12:16:13
【问题描述】:
背景: 操作系统:win10。单个根文件夹:“U:\11Web\gallery-dl”。
在根目录中,我有 1400 多个子文件夹(这些子文件夹下面没有子文件夹(永远不会有))。 (根目录中也没有单独的/无关的文件(永远不会)。
每个子文件夹都有自己的 .bat 文件,aGallery-dl.bat。
@echo off
setlocal EnableExtensions DisableDelayedExpansion
pushd "%~dp0" || exit /B
move /Y "Folder2.jpg" "Folder.jpg"
for %%I in (.) do set "FOLDER=%%~nxI"
"%ProgramFiles(x86)%\gallery-dl\gallery-dl.exe" -d "U:\11Web\gallery-dl" --download-archive "%~dp0zzzGDB.sqlite3" "https://www.deviantart.com/%FOLDER%/gallery/all"
if not errorlevel 1 if exist "zzzGDB.sqlite3" del "Folder.jpg"
popd
endlocal
我通常手动运行 aGallery-dl.bat;打开下一个文件夹,双击运行;下一个文件夹运行等,直到我在 5 到 10 个 cmd 窗口之间运行。稍后当它们全部完成时,我可能会再浏览 5-10 个文件夹,就这样。在执行每个 aGallery-dl.bat 时,会下载请求的文件,完成后,会对 Folder.jpg 进行一些清理,然后关闭每个 cmd 窗口。
问题:希望稍微自动化这些运行。想要根文件夹中的单个批处理文件,运行时会
创建/更新所有子文件夹的 list.txt/database 文件。一个列表可以在这里工作,像 dir/l>list.txt 这样简单但不知道如何保存计数?
在列表的前 5 个子文件夹中运行 aGallery-dl.bat,暂停 15 分钟(超时?),循环然后点击接下来的 5 个文件夹,依此类推,直到 1400 + 完成了......如果我必须重新启动,或者一周后回来并且必须重新运行同一个批处理文件,它会从第一个文件夹重新开始......没关系......有一个每个文件夹中的 .sqlite3 数据库文件,其中保留了所有以前下载的文件信息。每次从第一个文件夹开始将是一项功能,只下载那些已更新的文件。
我没有起始代码/示例,因为我无法充分理解它以真正开始。
提前致谢。
【问题讨论】:
标签: batch-file cmd directory pause