如果你是在Windows平台上,你想批量修改文件名的话,没有什么好的办法,只能去下个软件试一试. 如果你是在Linux平台上,那就好办多了, 可以用一个命令或者写一段shell脚本迅速解决问题.
现就下面的四种假设,附上代码仅供参考:
假设一, 我有一批文件,我想要把他们的文件名全部加上一个前缀(“IN_”)或者后缀(“_IN”).
主要代码如下:
for i in `ls`
do
echo $i
mv $i "IN_$i"
#mv $i “$I_IN”
done
假设二,我想把所有文件名的前三个字母改成ABC.
for i in `ls`
do
mv $i `echo $i | sed 's/^…/ABC/'`
done
假设三,我要把所有文件名的字母改成大写.
for i in `ls`
do
mv $i `echo $i | tr a-z A-Z`
done
假设四, 我有一批文件,文件名都是以IN_开头, 或者_IN结尾,我想把他们替换成US_开头或者_US结尾,那就更简单了.我可以这样做:
rename IN_ US_ IN_*
rename _IN _US *_IN
当然,我这里只是提供了一个我认为比较好的方案,如果你有更好的解决方案,希望能与你更深一步的交流.
本文地址:[url=http://www.jssay.com/blog/index.php/2010/09/20/批量修改文件名/]http://www.jssay.com/blog/index.php/2010/09/20/批量修改文件名/[/url]
现就下面的四种假设,附上代码仅供参考:
假设一, 我有一批文件,我想要把他们的文件名全部加上一个前缀(“IN_”)或者后缀(“_IN”).
主要代码如下:
for i in `ls`
do
echo $i
mv $i "IN_$i"
#mv $i “$I_IN”
done
假设二,我想把所有文件名的前三个字母改成ABC.
for i in `ls`
do
mv $i `echo $i | sed 's/^…/ABC/'`
done
假设三,我要把所有文件名的字母改成大写.
for i in `ls`
do
mv $i `echo $i | tr a-z A-Z`
done
假设四, 我有一批文件,文件名都是以IN_开头, 或者_IN结尾,我想把他们替换成US_开头或者_US结尾,那就更简单了.我可以这样做:
rename IN_ US_ IN_*
rename _IN _US *_IN
当然,我这里只是提供了一个我认为比较好的方案,如果你有更好的解决方案,希望能与你更深一步的交流.
本文地址:[url=http://www.jssay.com/blog/index.php/2010/09/20/批量修改文件名/]http://www.jssay.com/blog/index.php/2010/09/20/批量修改文件名/[/url]