如何在Windows CMD中批量将文件夹名称中的22替换为23?
在Windows CMD中批量替换文件夹名称中的"22"为"23"
我复制了2022年的文件夹结构,希望将所有复制后的文件夹名称里的"22"替换成"23",但找不到一次性批量修改的方法。
当前目录结构如下:
Directory of c:\cmdTest 09/29/2022 10:46 AM <DIR> . 09/29/2022 10:46 AM <DIR> .. 09/29/2022 10:46 AM <DIR> 22 09/29/2022 10:30 AM <DIR> asdfsdf22 09/29/2022 10:30 AM <DIR> asdhfigh22 09/29/2022 10:30 AM <DIR> rheht22 09/29/2022 10:30 AM <DIR> sadfjksadfjk22 0 File(s) 0 bytes 7 Dir(s) 582,340,362,240 bytes free
单个文件夹修改可以用命令:
c:\cmdTest>ren 22 23
但尝试以下批量修改命令均失败:
c:\cmdTest>ren *22 "23" The syntax of the command is incorrect. c:\cmdTest>ren "%22%" "23" The system cannot find the file specified. c:\cmdTest>ren *22 23 The syntax of the command is incorrect.
解决方案
Windows CMD的ren命令本身不支持直接批量替换字符串,但可以结合for /d循环和变量替换实现需求:
直接在CMD窗口执行
for /d %d in (*22) do ren "%d" "%d:22=23%"
写入批处理(.bat)文件执行
批处理中变量需使用双百分号:
@echo off for /d %%d in (*22) do ren "%%d" "%%d:22=23%"
命令说明
for /d %d in (*22):遍历当前目录下所有名称以22结尾的文件夹;若要匹配所有包含22的文件夹,可将通配符改为*22*ren "%d" "%d:22=23%":利用CMD变量替换语法,将文件夹名称中的22替换为23后完成重命名
内容的提问来源于stack exchange,提问作者Scrambletron
相关产品推荐
相关产品推荐

