我已经找到了一些重命名文件的解决方案。 有些没有真正起作用,有些只在文件结尾后添加了后缀,如
@echo off
Setlocal enabledelayedexpansion
For %%a in (*.*) Do (
Ren "%%a" "%%a Tenor 1"
)
Pause&Exit
我的问题: 我在文件夹中有几种文件类型:
song1.mp3
song2.mp3
Text1.txt
Text2.txt
Document1.pdf
Document2.pdf
Add_Tenor_1.bat
Add_Tenor_2.bat
ReplaceBlankwithUnderline.bat
等等。 现在我想添加例如除了批处理文件之外的所有文件,例如“* Tenor 1”这样的后缀。
song1 Tenor 1.mp3
song2 Tenor 1.mp3
Text1 Tenor 1.txt
Text2 Tenor 1.txt
Document1 Tenor 1.pdf
Document2 Tenor 1.pdf
Add_Tenor_1.bat
Add_Tenor_2.bat
ReplaceBlankwithUnderline.bat
是否可以在具有异常的for条件中使用*.*
(对于.bat)?
批处理文件的代码如何?
另一件事是仅为.txt和.pdf文件添加后缀。 这是在一个例程中工作还是我需要一个用于.txt和一个用于.pdf?
song1.mp3
song2.mp3
Text1 Tenor 1.txt
Text2 Tenor 1.txt
Document1 Tenor 1.pdf
Document2 Tenor 1.pdf
Add_Tenor_1.bat
Add_Tenor_2.bat
ReplaceBlankwithUnderline.bat
这个批处理文件的代码怎么样?
非常感谢你!
我知道有像Renamer这样的程序。但是因为我总是希望同样(不是同时),只需按批次而不是打开选择并用porgramm重命名它更快:)
问候 chrisdi91
答案 0 :(得分:2)
while
含义“如果文件名(For %%a in (*.*) Do IF /i "%%~xa" neq ".bat" (
)的eXtension部分是NEQ(不等于)'。'''(~%%xa
表示不区分大小写的比较)”
请参阅文档提示中的/i
。
答案 1 :(得分:1)
我发布我的批次只是为了展示一批中的排除和包含方式,以便进行演示。
@echo off
Setlocal enabledelayedexpansion
Set "Exclude=.bat$ .cmd$ .exe$ .vbs$ "
Set "Include=*.txt *.pdf"
For /f "Delims=" %%a in (
'Dir /B %Include% ^| findstr /i /V "%Exclude%" '
) Do Echo Ren "%%a" "%%~na Tenor 1%%~xa"
Pause
Goto :Eof
Ren "Document1.pdf" "Document1 Tenor 1.pdf"
Ren "Document2.pdf" "Document2 Tenor 1.pdf"
Ren "Text1.txt" "Text1 Tenor 1.txt"
Ren "Text2.txt" "Text2 Tenor 1.txt"
Ren "vm_fire.txt" "vm_fire Tenor 1.txt"
Ren "vm_idle.txt" "vm_idle Tenor 1.txt"