使用cmd ren命令重命名文件

时间:2015-03-31 16:13:54

标签: windows cmd rename

我是这里的新手但是在下午搜索你的论坛。虽然有几个关于ren命令的帖子我似乎无法让我的工作?!

我想改变:

A22-7000
A22-7001
A22-7003

为:

A24-7000
A24-7001
A22-7003

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

ren *A22 *A24

我知道这应该很容易,但它让我疯了!此外,如果有人有一个指向良好教程的链接,我可以在这里学习这种方法,这将是很棒的!

谢谢!

2 个答案:

答案 0 :(得分:1)

你的通配符概念错了。

*A22表示“以A22结尾的任何内容”

*表示“任意数量的字符”

?表示“一个字符”

你想要的可能是:

ren A22* A24*

A22*表示“以A22开头,后跟任意数量字符的任何内容”

答案 1 :(得分:0)

首先你应该确定你想要改变文件夹或文件名,只需使用你的外卡重命名所有查找! 看我的例子 如果您在使用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* }