如何编写批处理文件在CMD中对多子文件夹执行LyndaDecryptor命令
解决方案:批量遍历课程文件夹执行LyndaDecryptor的批处理文件
我来帮你搞定这个批量解密的需求——我们可以用Windows批处理的for /d命令自动遍历所有课程子文件夹,逐个调用解密工具。下面是完整的可直接使用的代码,我会逐行给你解释清楚:
完整批处理代码
@echo off setlocal enabledelayedexpansion :: 自动适配当前用户目录,无需手动替换[username] set "COURSES_ROOT=%USERPROFILE%\AppData\Local\lynda.com\Lynda.com Desktop App\offline\ldc_dl_courses" set "DB_FILE=%USERPROFILE%\AppData\Local\lynda.com\Lynda.com Desktop App\db.sqlite" :: 注意:如果LyndaDecryptor不在系统PATH里,要写完整路径,比如"C:\Tools\LyndaDecryptor.exe" set "DECRYPTOR=LyndaDecryptor" :: 遍历所有课程子文件夹 for /d %%F in ("%COURSES_ROOT%\*") do ( :: 在每个课程文件夹下创建decrypted子文件夹存解密结果 set "OUT_FOLDER=%%F\decrypted" mkdir "!OUT_FOLDER!" 2>nul echo 正在处理课程:%%~nF :: 执行解密命令 "%DECRYPTOR%" /D "%%F" /DB "%DB_FILE%" /OUT "!OUT_FOLDER!" :: 可选:如果需要查看错误或手动确认进度,解开下面的注释 :: if errorlevel 1 echo 处理%%~nF时出错! :: pause ) echo 所有课程处理完成! pause
代码细节说明
@echo off:关闭命令行的命令回显,让输出更整洁setlocal enabledelayedexpansion:启用延迟变量扩展,确保循环里的动态变量能正确读取%USERPROFILE%:系统自带变量,自动指向当前用户的C:\Users\[username]目录,不用手动修改for /d %%F in ("%COURSES_ROOT%\*"):遍历课程根目录下的所有子文件夹,每个文件夹路径会存在%%F变量中mkdir "!OUT_FOLDER!" 2>nul:自动创建输出目录,2>nul用来屏蔽“目录已存在”的重复提示%%~nF:只提取文件夹的名称,让输出日志更清晰,方便你知道正在处理哪个课程
使用步骤
- 把上面的代码复制到记事本中
- 检查
DECRYPTOR变量,如果你的解密工具不在系统环境变量里,替换成工具的完整路径 - 保存文件为
LyndaBatchDecrypt.bat(注意保存类型选「所有文件」,编码选ANSI) - 双击运行这个批处理文件即可自动批量解密
自定义选项
如果你不想把解密结果放在课程文件夹里,可以修改OUT_FOLDER的路径,比如统一放到外部硬盘:
set "OUT_FOLDER=D:\Lynda解密课程\%%~nF"
内容的提问来源于stack exchange,提问作者thesalah1212
相关产品推荐
相关产品推荐

