【发布时间】:2021-01-15 01:57:26
【问题描述】:
@echo off
for /r /d /s %%d in (*.*) do (
if exist "%%d\(1).txt" (
rename "%%d\(1).txt" "%%d(-123).txt"
)
)
当我对此进行测试时,没有任何反应。我错过了什么?
我已经用几种不同的方式编辑了这个,我无法让它工作。
有/s,没有它,有if exist,没有,有(*.txt),什么都没有,我真的不需要if exist,只是测试它。
我的目标是:Main Folder\folder\Sub Folders
在子文件夹中,我可以有 80 到 150 个 txt 文件,命名为 (1).txt、(2).txt 等,我试图让这个批处理文件在每个子文件夹中找到所有 (1).txt,然后重命名到(-123.txt),找到所有(2).txt,重命名为(-121).txt,一直到xx.txt数字文件。
由于我没有更简单的方法来重命名这些文件,我将不得不在同一个批处理文件中多次重复此脚本。
一旦这个脚本工作,我将不得不制作许多副本并制作一个很长的脚本批次。我知道他们现在是脚本,它将按照我需要的方式重命名,但如果它可以从主文件夹扫描所有文件夹和子文件夹,那就更好了
(1).txt => (-123).txt
(2).txt => (-121).txt
(3).txt => (-119).txt
(4).txt => (-87).txt
(5).txt => (-55).txt
(6).txt => (-110).txt
(7).txt => (-101).txt
现在我有这个,但我要一个文件夹一个文件夹。
重命名.bat:
(1).txt => (-123).txt
(2).txt => (-121).txt
(3).txt => (-119).txt
(4).txt => (-87).txt
(5).txt => (-55).txt
(6).txt => (-110).txt
(7).txt => (-101).txt
有没有办法让我当前的 bat 文件读取子文件夹,因为我已经有了 rename.bat 文件。我有一个简单的基本 ren "(1).txt "(-123).txt", 这很好用,但是将其一一移动到 100 到 200 个文件夹需要很长时间
我把它叫做 main.txt 文件夹
在主文件夹中我有 rename.bat
在主文件夹中,我有一个工作文件夹
在工作文件夹中,我有 100 个文件夹和 100 个子文件夹
我正在尝试让我的 rename.bat 从主文件夹中读取工作文件夹
并扫描每个文件夹和子文件夹,并找到每个匹配的 txt 文件
当它扫描、查找和匹配每个 txt 文件时,它会重命名它们
(1).txt => (-123).txt
(2).txt => (-121).txt
(3).txt => (-119).txt
(4).txt => (-87).txt
(5).txt => (-55).txt
(6).txt => (-110).txt
(7).txt => (-101).txt
现在我将每个文件夹一一复制,并将它们放在 main.txt 文件夹中
并双击重命名 .bat,这需要永远
我还将 rename.bat 文件复制到文件所在的文件夹并在其中双击它
我有超过 100 个文件夹,所以这将永远存在
【问题讨论】:
-
你好。 123-2=121-2=119-2=117? (87) 是从哪里来的?请解释一下,以便我们提供帮助。
-
@Toni 数字被重命名为 - 非数字顺序并且不完整,因此它不会从 123 计数到 1,这就是它的样子 1 =-123,10 = -45,并且50 = -78,你可以看到我这样重命名它们,减号很重要,数字对我的订单很重要,以及我如何将它们与数字匹配,所以我知道使用标准计数工具不起作用,什么它需要做的是用(1).txt对所有文件夹进行罚款,并将它们全部重命名为(-123).txt等等
-
如果我正确理解了您的任务,请保持
Rename.bat不变,并与您的其他批处理文件位于同一位置,这也应该是您尝试迭代的树的根目录。然后您的批处理文件可以读取:@For /F "EOL=? Delims=" %%G In ('Dir /B /S /A:D') Do @PushD "%%G" && (Call "%~dp0Rename.bat" >NUL 2>&1 & PopD). -
@Compo 谢谢,但我有很多子文件夹,这将调用 rename.bat,但我必须在许多文件夹中放置一个 rename.bat,我的目标是读取为主文件夹中的许多文件夹和子文件夹,使用 1 renamer.bat
-
我会解决我的问题,我的原始问题已被编辑
标签: batch-file