一个乐于分享的博客
关注互联网折腾服务器分享码农的日常

Windows下命令行批量重命名


日常用电脑的过程中常常会遇到文件重命名问题,这时候大家都会知道,点两下文件名就可重命名,或者按F2快捷键也可以重命名,那么如果遇到10个100个文件需要批量重命名的时候怎么办呢?

有一些第三方工具,可以批量重命名,但是有批量重命名的操作我们并不非每天都在用,为此而装一个软件,有些太过麻烦了。岩兔站今天讨论的是,使用windows自带的命令行工具,进行重命名。

命令行中ren命令

以下全部操作都要在命令行中执行,首先在命令行中定位到需要命名的文件夹再执行。所有windows操作系统都支持!

截取文件名

只取文件名前几位

yantuz.cn.txt

更改为:

yantuz.txt

实现方法

ren *.txt ??????.txt

其中?的个数代表截取的长度

批量加后缀

比如一堆文件,需要设置统一的后缀,常见于文件加版权。

name.txt

更改为:

name_yantuz.cn.txt

实现方法

ren *.txt ?????_yantuz.cn.*

其中?个数要大于文件名长度,如果希望重命名并截取文件名,可减少第二个参数?个数。

批量替换文件名

上一例中如果后缀加错,可以进行再次修改。

name_yantuz.cn.txt

更改为:

name_ytz.txt

实现方法:

ren *_yantuz.cn.txt *_ytz.txt

更改扩展名

img.jpg

更改为:

img.jpeg

实现方法:

ren *.jpg *.jpeg

PowerShell批量重命名

注意,以下操作需要在PowerShell里实现,win10以上系统可用。

加数字后缀

将文件整理成统一文件前缀加递增数字的形式

IMG_20190129.jpg

IMG_20190128.jpg

更改为:

yantuz_0.jpg

yantuz_1.jpg

实现形式:

Dir | %{Rename-Item $_ -NewName ("yantuz_{0}.jpg" -f $nr++)}

截取部分标题

比如文件名带前缀或后缀,可以批量截取去除。

name_yantuz.txt

otherName_yantuz.txt

更改为:

name.txt

otherName.txt

实现方法:

//去除后缀
Dir | Rename-Item -NewName {$_.name.substring(0, $_.BaseName.length-7) + $_.Extension}
//去除前缀
Dir | Rename-Item -NewName {$_.name.substring($_.BaseName.length-7) + $_.Extension}

查找替换文件名

将文件名中的部分内容替换成其他内容

将name_yantuz.txt

更改为:

name-yantuz.txt

实现方法:

Dir | Rename-Item -NewName {$_.name -replace "_","-"} 

扩展用法:

  • 替换的字符串用 “”,可以删除指定字符串
  • 替换的字符串用 ” “,可将文件名中的空格去除

更改扩展名

img.jpg

更改为:

img.jpeg

实现方法:

Dir | Rename-Item -NewName { [io.path]::ChangeExtension($_.name, "jpeg") } 

过滤器

上述所有替换方法都可添加过滤器进行文件匹配。

将文件夹中所有jpg文件进行重命名。

Dir -filter *.jpg | %{Rename-Item $_ -NewName ("yantuz_{0}.jpg" -f $nr++)}

参考资料

https://www.windowscentral.com/how-rename-multiple-files-bulk-windows-10

转载务必注明出处:岩兔站 » Windows下命令行批量重命名
赞 (1) or 打赏

讨论区 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址