超实用!Windows Batch脚本递归批量将文件名中krdj改为dj并执行后挂起
以下是一个满足你需求的 Windows Batch 脚本: ```batch @echo off rem 获取当前脚本所在的目录 set "currentDir=%~dp0" rem 递归遍历当前目录及其子目录下的所有文件 for /r "%currentDir%" %%i in (*) do ( rem 获取文件名 set "filename=%%~nxi" rem 将文件名中的 krdj 替换为 dj setlocal enabledelayedexpansion set "newfilename=!filename:krdj=dj!" if not "!filename!"=="!newfilename!" ( rem 如果文件名发生了变化,则重命名文件 ren "%%i" "!newfilename!" ) endlocal ) rem 执行完后挂起,等待用户按任意键 pause ``` 代码解释: 1. `@echo off`:关闭命令行窗口中命令的显示,使输出更简洁。 2. `set "currentDir=%~dp0"`:获取当前脚本所在的目录,并将其存储在 `currentDir` 变量中。 3. `for /r "%currentDir%" %%i in (*) do`:递归遍历 `currentDir` 目录及其子目录下的所有文件。 4. `set "filename=%%~nxi"`:获取当前文件的完整文件名(包括扩展名)。 5. `setlocal enabledelayedexpansion`:启用延迟环境变量扩展,以便在 `for` 循环中正确处理变量。 6. `set "newfilename=!filename:krdj=dj!"`:将 `filename` 中的 `krdj` 替换为 `dj`,并将结果存储在 `newfilename` 变量中。 7. `if not "!filename!"=="!newfilename!"`:检查文件名是否发生了变化。 8. `ren "%%i" "!newfilename!"`:如果文件名发生了变化,则重命名文件。 9. `endlocal`:结束延迟环境变量扩展。 10. `pause`:执行完后挂起,等待用户按任意键。 额外需要注意的逻辑点: 1. 脚本执行前请确保备份重要文件,以防重命名操作出现意外。 2. 脚本会递归处理所有文件,包括隐藏文件和系统文件,可能会影响系统的正常运行,使用时请谨慎。 3. 如果文件名中包含特殊字符(如空格、引号等),可能会导致重命名失败,需要进行额外的处理。 ######[AI写代码神器 | 564点数解答 | 2025-07-15 15:29:33]
- 代码优化:从数据框提取内容并生成嵌入向量的改进方案(DeepSeek | 439点数解答 | 2025-03-21 10:20:06)183
- Java 利用 DFA 判断输入字符串是否为 4 位无符号整数(字节豆包 | 423点数解答 | 2024-10-07 19:23:58)406
- 易语言:“获取dump”子程序代码揭秘及为程序添加DNF图标的方法 (字节豆包 | 633点数解答 | 2026-02-09 12:20:02)35
- data.xlsx 数据处理:改名、删缺、类型转换及消费指标计算与绘图(字节豆包 | 168点数解答 | 2025-04-17 16:51:27)268
- 班级分组难题:最少修改多少同学 id 实现公平配对?(DeepSeek | 1604点数解答 | 2026-01-11 13:28:28)64
- 巧用算法!求解班级分组中最少更改学生ID数的难题(DeepSeek | 2266点数解答 | 2026-01-13 17:47:37)46
- 班级活动分组难题:最少修改多少学生 ID 实现公平分组?(DeepSeek | 1692点数解答 | 2026-01-13 17:49:24)39
- 50 分判断题大揭秘:变量、条件、循环与数组知识正误辨析(字节豆包 | 229点数解答 | 2025-12-21 19:15:16)76
- Python 实现:带边界处理与验证的任意基数数字转换递归程序(字节豆包 | 198点数解答 | 2024-11-21 14:20:25)446
- Python 递归函数实现:将数字转换为指定基数的输出(百度文心 | 499点数解答 | 2024-11-22 09:58:55)347
- 编程模拟:偶数张牌经 k 次洗牌后第 p 张牌编号求解(DeepSeek | 126点数解答 | 2026-01-05 12:15:30)36
- 螺旋矩阵:根据输入行列号精准求出对应位置数字的算法揭秘(DeepSeek | 740点数解答 | 2026-01-05 12:16:41)61