我想重命名文件夹中的所有文件并添加一个.xml
扩展名。 我正在使用Unix。 我怎样才能做到这一点?
在shell上,你可以这样做:
for file in *; do if [ -f ${file} ]; then mv ${file} ${file}.xml fi done
编辑
要在所有子目录上递归地执行此操作,应该使用find
:
for file in $(find -type f); do mv ${file} ${file}.xml done
另一方面,如果你要做比这更复杂的事情,你可能不应该使用shell
脚本。
更好的是
请使用下面的Jonathan Leffler提供的评论:
find . -type f -exec mv {} {}.xml ';'
不知道这是否是标准的,但我的Perl
包(Debian / Ubuntu)包含一个/usr/bin/prename
(和一个只是rename
的符号链接)
rename 's/$/.xml/' *
find . -type f \! -name '*.xml' -print0 | xargs -0 rename 's/$/.xml/'
在Python中 :
使用os.listdir
查找目录中所有文件的名称。 如果您需要递归查找子目录中的所有文件,请使用os.walk
。 它的API比os.listdir
更复杂,但它提供了递归遍历目录的强大方法。
然后使用os.rename
重命名文件。