rename命令
在 Linux 服务器批量修改文件名的大小写,可以先输入安装 rename 命令
再执行修改命令
#目录下 find ./ -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
|
其中 L 是大写改成小写,U 是小写改成大写。
python脚本
import os, sys
def convert(rootdir, optype='l'): """ 目录/文件名转换成小写或大写 :param rootdir: 要转换的根目录路径 :param optype: 操作类型(小写/大写) 小写:optype = 'l' 大写:optype = 'u',默认转换成小写 :return: """ dirlist = os.listdir(rootdir) for index, onedir in enumerate(dirlist): if optype == 'l': cdir = onedir.lower() elif optype == 'u': cdir = onedir.upper() subdir = os.path.join(rootdir, onedir)
if onedir != cdir: subcdir = os.path.join(rootdir, cdir) os.rename(subdir, subcdir) dirlist[index] = cdir subdir = subcdir
if os.path.isdir(subdir): convert(subdir, optype)
def help(): print("use: python convert.py 'rootDirPath' {optype:'l'/'u'}")
def main(): if len(sys.argv) == 2: convert(sys.argv[1]) elif len(sys.argv) == 3: convert(sys.argv[1], sys.argv[2]) else: help() exit(400)
if __name__ == '__main__': main()
|
保存文件后执行:
python convert.py "/var/www/webfuture/wwwroot/upload/history/main" "l"
|