gpt4 book ai didi

windows - 如何批量重命名文件?

转载 作者:可可西里 更新时间:2023-11-01 11:41:26 24 4
gpt4 key购买 nike

我正在寻找一个脚本(Perl、Python 或批处理都可以),它将遍历指定的文件树并重命名所有子文件。

例如,Folder1>File1.anytype 变为 Folder1>Folder1File1.anytype

谢谢

最佳答案

您提到了批处理文件,这可能意味着您使用的是 Windows(我假设您指的是 .bat 文件)。如果您使用的是 unix 系统,请试一试:

find . -mindepth 2 -type f -exec sh -c "mv {} \`dirname {}\`/\`dirname {} | sed 's/^\.//' | sed 's/\///g'\`\`basename {}\`" \;

或者,这个 Python 3 程序可以解决问题(应该也适用于 Windows...):

#!/usr/bin/env python3.0

import os
import sys

def raise_error(e):
raise e

def full_split(path):
head, tail = os.path.split(path)

if head:
return full_split(head) + [tail]

return [tail]

def main(args):
if len(args) != 1:
print("Please specify one target directory", file=sys.stderr)
sys.exit(1)

os.chdir(args[0])
for dirpath, _, filenames in os.walk('.', onerror=raise_error):
for f in filenames:
old = os.path.join(dirpath, f)
new = os.path.join(dirpath, ''.join(full_split(dirpath[2:]) + [f]))
os.rename(old, new)

if __name__ == '__main__':
main(sys.argv[1:])

之前的目录布局:

.:Abc  Def./Abc:Foo2.bar  Foo.bar./Def:Baz2.quux  Baz.quux  Ghi./Def/Ghi:Bar2.foo  Bar.foo

之后的目录布局:

.:Abc  Def./Abc:AbcFoo2.bar  AbcFoo.bar./Def:DefBaz2.quux  DefBaz.quux  Ghi./Def/Ghi:DefGhiBar2.foo  DefGhiBar.foo

关于windows - 如何批量重命名文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/718987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com