繁体   English   中英

使用cmd ren命令重命名文件

[英]Rename files using cmd ren command

我是新手,但是已经花了整个下午在您的论坛中搜索。 尽管有关于ren命令的几篇文章,但我似乎无法让我工作?!

我想改变:

A22-7000
A22-7001
A22-7003

至:

A24-7000
A24-7001
A22-7003

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

ren *A22 *A24

我知道这应该很容易,但是一直让我发疯! 另外,如果有人链接到优秀的教程,在这里我可以学习到这种很好的教程!

谢谢!

您误解了通配符的概念。

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

*表示“任何字符数”

? 表示“一个字符”

您想要的可能是:

ren A22* A24*

A22*意思是“任何以A22开头的字符,后跟任意数量的字符”

首先,您应该确定只在使用通配符重命名所有查找内容时才要更改文件夹或文件名!
看我的例子
如果您在使用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* }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM