#!/bin/bash # rename jpg and png count= for img in *.jpg *.png do new=image-$count.${img#*.} mv > /dev/null ]; then echo "renaming $img to $new" let count++ fi done 将文件名中有空格的文件名的空格全部替换为- find path -type -f -exec rename 's/ /_/g' {} \;
win10聚焦路径为: %localappdata%\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets #!/bin/bash for file in `ls` do if [ $file != "rename.sh" ];then mv $file $file.png fi done
因为要重命名的字符串中有文字,导致重命名出来的文件名都变为乱码了,查理一下需要加两句话 1. @Echo Off Chcp 65001>nul SetLocal EnableDelayedExpansion for /f %%i in ('dir /b *.PDF') do (ren %%i 文字_%%i) Chcp 936>nul http://zhidao.baidu.com/question/303817950046214524.html 2. 循环加数字自增长 @Echo Off Se
下载的zip包解压后,中文都变成了乱码,就写了个脚本重命名文件. use strict; use warnings; use Cwd; sub main { my $dir = getcwd(); opendir my $DH, $dir or die "Can not open directory: $dir"; while (my $file = readdir $DH) { })_.*\.mp3$/) { rename $file, "$1.mp3"; } }
五种方法实现Linux批量重命名文件 Linux批量重命名文件是指对某些特定的文件统一进行重新命名,以改变原来一批文件的名称,这里介绍五种方法来实现. Linux批量重命名文件会涉及到改变一个字母.改变一些相连字母.改变某些位置的字母.在最前面加上某些字母.或者改变字母的大小写.完成这里五个方法基本上就会解决了Linux批量重命名的工作. 1.我想把它们的名字的第一个1个字母变为"q",其它的不变[root@pps mailqueue]# for i in `ls`; do mv -f