【问题标题】:Script to change the folder name for 10,000 folders in windows脚本在windows中更改10,000个文件夹的文件夹名称
【发布时间】:2019-07-17 00:02:44
【问题描述】:

我想在 windows 中更改 10,000 个文件夹的文件夹名称。

我有旧结构可用,我想将其更改为新结构。例如:

旧结构:C:\Documents to read\Important\Domain\Latest\Today

新结构:C:\Documents\Important\Domain\new\yesterday

有什么方法可以通过在批处理文件中提供文件夹结构来更改 10,000 只苍蝇?

(旧文件夹结构到新文件夹结构,不影响下面的文件)

我在命令提示符下尝试过 - ren "old file name" "new file name" 但它非常特定于特定文件夹。

请帮忙。我对命令提示符很陌生。非常感谢任何形式的帮助。

谢谢!

【问题讨论】:

  • 您说您有 10,000 个“文件夹”,然后是 10,000 个“文件”。请说清楚。新的目录名如何从现有的目录名中派生出来?

标签: windows batch-file cmd


【解决方案1】:

要重命名文件夹,您必须使用mv /home/user/oldname /home/user/newname 在此之后,您必须对所有文件夹使用 for 循环

【讨论】:

  • 感谢您的回复。这是否意味着我需要在文件夹结构的每个级别上执行此操作?如果是,你能告诉我应该使用哪个循环吗?对不起,我对脚本很陌生
  • 你可以使用这个页面上的 for 循环:unix.stackexchange.com/questions/86722/…
【解决方案2】:

Windows 的批处理文件功能有限,所以我所做的是:

  • DIR /S /AD /B > files.tsv 以完整格式输出所有文件
  • files.tsv导入Excel
  • 带有生成“之后”的公式的新列
  • 带有用于创建REN 命令的公式的新列,例如="REN """ & A1 & """ """ & B1 & """"
  • 将该列粘贴到批处理文件DOIT.BAT
  • 非常重要 - 备份所有文件!很容易搞砸
  • 运行DOIT.BAT

DIR /S /AD /B 确实递归到所有子目录,这很烦人,但它确实按层次顺序列出它们,因此可能很容易编辑掉你不想要的那些。

额外的引号是为了确保REN 的目录和文件名中的空格得到正确处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-07
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多