rename命令
在 Linux
服务器批量修改文件名的大小写,可以先输入安装 rename
命令
再执行修改命令
1 2
| find ./ -depth | xargs -n 1 rename -v 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
|
其中 L
是大写改成小写,U
是小写改成大写。
python脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
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()
|
保存文件后执行:
1 2
| python convert.py "/var/www/webfuture/wwwroot/upload/history/main" "l"
|