原始文件
File 15 - Example.txt
File 2 - Example.txt
File 22 - Example.txt
File 3 - Example.txt
File 4 - Example.txt
File 5 - Example.txt
期望输出
File 15 - Example.txt
File 02 - Example.txt
File 22 - Example.txt
File 03 - Example.txt
File 04 - Example.txt
File 05 - Example.txt
可以使用 轻松重命名单个文件ren
。
ren "File 2 - Example.txt" "File 02 - Example.txt"
是否可以使用 Windowsren
或rename
工具批量重命名?
答案1
是否可以使用 Windows ren 或重命名工具批量重命名?
是的,但它需要一个批处理文件。
测试.cmd:
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=1,2,3,4" %%i in ('dir /b *Example.txt') do (
rem pad 2nd token with leading zero
set _num=0%%j
set _num=!_num:~-2!
ren "%%i %%j %%k %%l" "%%i !_num! %%k %%l"
)
endlocal
例子:
> dir *Example.txt
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\test
03/01/2019 11:30 0 File 15 - Example.txt
03/01/2019 11:30 0 File 2 - Example.txt
03/01/2019 11:30 0 File 22 - Example.txt
03/01/2019 11:30 0 File 3 - Example.txt
03/01/2019 11:30 0 File 4 - Example.txt
03/01/2019 11:30 0 File 5 - Example.txt
6 File(s) 0 bytes
0 Dir(s) 1,075,134,230,528 bytes free
> ..\test
> dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\test
03/01/2019 11:54 <DIR> .
03/01/2019 11:54 <DIR> ..
03/01/2019 11:30 0 File 02 - Example.txt
03/01/2019 11:30 0 File 03 - Example.txt
03/01/2019 11:30 0 File 04 - Example.txt
03/01/2019 11:30 0 File 05 - Example.txt
03/01/2019 11:30 0 File 15 - Example.txt
03/01/2019 11:30 0 File 22 - Example.txt
6 File(s) 0 bytes
2 Dir(s) 1,075,134,230,528 bytes free
进一步阅读
答案2
这个 PowerShell 单行命令将文件名中的所有数字扩展至两位数.PadLeft(2,'0')
:(
并且保留更多位数的数字不变)
Get-ChildItem *[0-9]*.txt|Rename-Item -NewName {([regex]::Replace($_.BaseName,'\d+',{$args[0].Value.PadLeft(2,'0')}))+$_.Extension}
为了讨论主题,将其包装在 cmd 行/批处理文件中:
Powershell -Nop -C "Get-ChildItem *[0-9]*.txt|Rename-Item -NewName {([regex]::Replace($_.BaseName,'\d+',{$args[0].Value.PadLeft(2,'0')}))+$_.Extension}"
为了安全起见,在执行命令之前,请附加
-Confirm
在重命名之前询问-WhatIf
列出所有重命名它会不带参数执行
就在最后一个"
答案3
编辑:我刚刚注意到这个疑问是关于从命令行重命名,所以它不能直接回答这个问题...我现在保留它,希望它对其他人有用。
这总指挥官文件管理器有一个出色的批量重命名工具。它包含许多功能,包括重命名预览、不同的重命名掩码、正则表达式、重命名整个文件夹层次结构中的文件等等。同时,它非常易于使用。
以下是演示其用法的屏幕截图:
一步步:
- 下载并运行 Total Commander。
- 定位到包含要重命名的文件的文件夹。
- 标记要重命名的文件:
- 选项 1 - Ctrl+A用于标记文件夹中的所有文件。
- Space选项 2 - 使用键或鼠标右键单击逐个标记文件。
- 选项 3 - 打开“查找文件”(Alt+ F7),
*.txt
在“搜索”框中输入,单击“开始搜索”,按“送入列表框”,然后用Ctrl+标记文件A。如果您还想重命名内部文件夹中的文件,请使用此技术。
- 按Ctrl+M打开多重重命名工具。
- 在“搜索”和“替换为”框中设置所需的值。如果使用正则表达式,请选中 RegEx 框。
- 点击“开始!”。
答案4
ren *.bat *.txt
将重命名所有匹配文件的扩展名,同时保留名称的其他部分。您不能滥用此功能来运行一系列ren
命令吗?
ren "File *" "File 0*"
ren "File 00*" "File 0*"
- (处理悬垂余项,如
File 022 - Example.txt