在Windows 7中使用REN批量重命名文件(添加前缀)

16

我已经弄清楚如何使用Windows 7命令提示符中的REN批量编辑文件,但这次我想给所有文件添加一个前缀,但是我无法做到。所有文件都是tif文件。

例如,文件位于C:\ Users \ user1 \ Desktop \ Test_Folder中
每个文件夹内的文件以9开头。
每个文件有5位数字(即90200、90201、90202)。

我试图在每个文件名前加一个0,并将其更改为090200、090201、090203等。

我尝试过:

FOR %v IN (?????.tif) DO REN %v 0%v

我也尝试过:

FOR %%a in (*.tif) DO REN "%%a" "0%a"

请帮忙。

6个回答

30

1
点赞。在Win 8中,forfiles实用程序可以像在命令提示符上使用DIR命令一样使用,无需编写批处理文件,这非常好。但是,如果使用不当,它可能会进入无限循环,请注意,例如,已经有一些文件已经为0,这种情况曾经发生在我身上。 - Manohar Reddy Poreddy

4
这对我有效:
 for %a in (9????) do ren %a 0%a

C:\temp\test>for %a in (9????) do ren %a 0%a

C:\temp\test>ren 90200 090200

C:\temp\test>ren 90201 090201

C:\temp\test>ren 90202 090202

C:\temp\test>dir
 Volume in drive C has no label.
 Volume Serial Number is 4BF5-D156

 Directory of C:\temp\test

     04/02/2013  11:40 AM    <DIR>          .
     04/02/2013  11:40 AM    <DIR>          ..
     04/02/2013  11:36 AM                 4 090200
     04/02/2013  11:36 AM                 4 090201
     04/02/2013  11:36 AM                 4 090202
                    3 File(s)             12 bytes


               2 Dir(s)  86,883,287,040 bytes free

Stanley,我觉得我一定做错了什么。我尝试了你说的,但是我得到了“[directory]”在这个时候是意外的。请看下面:FOR "C:\Users\user1\Desktop\TEST_FOLDER" %a in (9????) do ren %a 0%a。请给予建议。谢谢! - user2237330
Stanley,我也尝试了:C:\Users\user1\Desktop\TEST_FOLDER>for %a in (9????) do ren %a 0%a。但是,它也没有起作用。 - user2237330
当我在Windows 8中在常规命令提示符中运行它时,我会得到“由于另一个进程正在使用该文件,因此无法访问该文件。”没有任何文件被打开。 - Christiaan Westerbeek

2
您可以尝试以下方法来重命名文件夹和子文件夹中的文件:
FOR /r "C:\Users\user1\Desktop\Test_Folder" %%a in (9*.tif) DO REN "%%~a" "0%%~nxa"

嗨Endoro,我试过了,但它没有起作用。我得到了:%%a在这个时候是意外的。 - user2237330
在命令行中,您必须键入:FOR /r "C:\Users\user1\Desktop\Test_Folder" %a in (9*.tif) DO REN "%~a" "0%~nxa"。批处理文件中只能使用一个%% - Endoro

1

没关系!问题已解决。我必须稍微修改一下,这样才对我起作用:

FOR /r "C:\Users\user1\Desktop\Test_Folder" %a in (9*.tif) DO REN "%~a" "0%~nxa"

谢谢大家!

0
这段代码将帮助删除文件夹中所有文件的“ab”:
FOR /r "folderName" %a in (ab*.txt) DO set fname=%~nxa & REN "%~a"  "%fname:~3%"

如果FolderName中有像ab1.txt、ab2.txt这样的文件,结果将会是1.txt、2.txt。

0

您可以尝试使用Windows PowerShell

打开PowerShell,打开文件所在的文件夹,确保没有选择任何文件。 在文件区域的空白区域中,按住Shift +右键,选择在此处打开PowerShell窗口

并使用以下公式: dir | Rename-Item -Newname {$_.name -replace "90", "090"}。

打开PowerShell,打开文件所在的文件夹,确保没有选择任何文件。 在文件区域的空白区域中,按住Shift +右键,选择在此处打开PowerShell窗口。

当PowerShell窗口打开时,它将有一部分文本行,其中包含文件所在的目录 PS X:\Main Folder\Folder Name\Folder Name>(这取决于您有多少个文件夹/子文件夹) 在 > 之后,光标会闪烁。

复制此命令:dir | Rename-Item -Newname {$_.name -replace "90", "090"}

然后将其粘贴到光标闪烁的位置,然后按Enter键。

现在所有文件都应该在9前面加上0。

限制可能是,如果您有一个像90909这样的文件,则最终可能会得到0900909。

然后,您仍然可以使用Powershell打开此命令:

dir | Rename-Item -Newname {$_.name -replace "900", "90"}

那应该很容易解决。

这是我知道的最简单的方法。

我有mp3文件,它在那里运行得很好。

此说明适用于任何文件类型。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接