我做了一些搜索和阅读,但我找不到解决方案。如果此问题已在论坛上得到解答,我深表歉意。这就是我想要做的事情:
我需要重命名很多1000个文件。我可以轻松创建一个.txt文件,列出旧文件名和新文件名,如下所示:
oldfilename1.ext newfilename1.ext
oldfilename2.ext newfilename2.ext
oldfilename3.ext newfilename3.ext
等......
实际文件名如下:
TKP-RL-MB-00205-001.pdf SDY-352-20009SA10BA-RXW03-001.pdf
TKP-RL-MB-00060-004.pdf SDY-352-20010SA10BA-RXW03-004.pdf
等......
我想要一个批处理文件,它从txt文件中读取两个名称,并将文件从旧名称重命名为新名称。批处理文件将与具有旧文件名的所有文件位于同一目录中。我不需要检查旧文件是否存在的功能,除非该功能对批处理文件的工作至关重要。
我正在Microsoft Windows 7
工作,所以我可以使用cmd
和Powershell
。
非常感谢您的帮助。
谢谢
答案 0 :(得分:3)
这应该按照你的描述进行。在测试echo
之后移除do
- 它只会将命令打印到屏幕上。
@echo off
for /f "usebackq tokens=1,*" %%a in ("file.txt") do echo ren "%%a" "%%b"
pause
答案 1 :(得分:1)
for /f "tokens=1,2" %%a in (yourtextfile.txt) do ECHO ren "%%a" "%%b"
- 假设文件中的唯一空格是分隔名称的空格。
将%%
缩减为%
以直接从提示符执行。
为了测试目的,所需的REN命令仅为ECHO
。 在您确认命令正确后,将ECHO REN
更改为REN
以实际重命名文件。
答案 2 :(得分:1)
如果您有该文本文件,则可以在每行的开头添加rename
并将其保存为。bat
。
(例如,使用Notepad ++,搜索模式=扩展,将\n
替换为\nrename
,也许可以检查第一行和最后一行)