使用 cmd ren 命令重命名文件

Rename files using cmd ren command

我是这方面的新手,但花了一个下午的时间搜索您的论坛。虽然有几篇关于 ren 命令的帖子,但我似乎无法让我的命令工作?!

我要更改:

A22-7000
A22-7001
A22-7003

至:

A24-7000
A24-7001
A22-7003

我在文件夹位置打开 cmd window 并尝试了以下各种形式:

ren *A22 *A24

我知道这应该很容易,但它让我抓狂!另外,如果有人 link 有好的教程,我可以在其中学习这类内容,那就太好了!

谢谢!

你搞错了通配符的概念。

*A22 表示 "anything that ends with A22"

* 表示 "any count of characters"

? 表示 "one character"

你想要的大概是:

ren A22* A24*

A22* 表示 "anything that starts with A22 followed by any number of chars"

首先你应该确定你想要更改文件夹或文件名,当你只使用 ren 重命名所有找到的通配符!
看我的例子
如果你在 ren A22* A24* 时有 A22-7000 文件和文件夹,如果你想更改,你可以更改所有文件夹和文件
只是文件夹

random.bat
dir /A:D /b | findstr.exe /n /R "a*" > s:\sites\file-count.txt

FOR /F "tokens=1-10 delims=:" %%A IN ('type "s:\sites\file-count.txt"') do set NUMBER-OF-FILES=%%A

FOR /L %%A IN (1,1,%number-of-files%) DO CALL rename.bat %%A

rename.bat

:rename

FOR /F "tokens=1-10 delims=:" %%A IN ('type "s:\sites\file-count.txt" ^| 

findstr "%1:"') do ren %%B a24-%RANDOM%

只是文件: random.bat

dir /A:-D /b | findstr.exe /n /R "a*" > s:\sites\file-count.txt

FOR /F "tokens=1-10 delims=:" %%A IN ('type "s:\sites\file-count.txt"') do set NUMBER-OF-FILES=%%A

FOR /L %%A IN (1,1,%number-of-files%) DO CALL rename.bat %%A

rename.bat:

FOR /F "tokens=1-10 delims=:" %%A IN ('type "s:\sites\file-count.txt" ^| 

    findstr "%1:"') do ren %%B a24-%RANDOM%

您也可以使用 powershell 脚本来执行此操作,例如 仅适用于文件夹

gci -Directory -Filter A22* | foreach { Rename-Item $_.Name -NewName A24* }

仅针对文件

gci -file -Filter A22* | foreach { Rename-Item $_.Name -NewName A24* }