0

我有一个创建模板化目录结构的应用程序(Templify),但它似乎无法用我确定的目标重命名“__NAME__”。

如果我能找到一种干净的方法来用我的替换文本重命名所有文件和目录,那就很好了。

我找到了一个重命名文件的 rename.pl 方法,并且我发现了一些删除文件名中的下划线并将其替换为空格的代码......但是当我修改代码以放入我的搜索词时,它似乎永远不会工作。

所以,基本上,我需要用“项目名称”之类的东西替换“__NAME__”。

我很乐意为将来的每次重用修改搜索字符串,但我很想弄清楚如何创建一个可以将 ARGS 传递到的文件。

我在 XP 上并且可以使用 cygwin(cygwin 似乎没有“重命名”,这使得使用名为“重命名”的函数很难找到 linux 类型的解决方案......)

我确实发现很容易用于当前目录中的文件,但我不知道如何告诉它递归到子目录中。

任何帮助都会很棒。

谢谢,斯科特

4

1 回答 1

0

来自 cygwin:

find /cygdrive/c/mytree -type f | perl -ne 'rename $_, $1/Project-Name if m[^(.*)/__NAME__$]'

或使用python:

import os

for root, dirs, files in os.walk("C:\\mytree"):
    for filename in files:
        if filename == "__NAME__":
            os.rename(os.path.join(root, filename), os.path.join(root, "Project-Name"))
于 2010-12-08T20:29:30.067 回答