用于添加除批处理文件之外的多个文件的后缀的批处理
Batch for adding suffix of several files except of batchfiles
我已经找到了一些重命名文件的解决方案。
有些并没有真正起作用,有些只是在文件结尾后添加了一个后缀like
@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 重命名它会更快 :)
问候
克里斯迪91
For %%a in (*.*) Do IF /i "%%~xa" neq ".bat" (
含义"if the eXtension part of the filename (~%%xa
) is NEQ (not equal to) '.bat' (/i
means case-insensitive comparison)"
请参阅文档提示中的 for /? |more
。
顺便说一句 - "wanna" 不是一个词。
我会post我的批次只是为了展示一批中的排除和包含方式只是为了演示。
@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"
我已经找到了一些重命名文件的解决方案。 有些并没有真正起作用,有些只是在文件结尾后添加了一个后缀like
@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 重命名它会更快 :)
问候 克里斯迪91
For %%a in (*.*) Do IF /i "%%~xa" neq ".bat" (
含义"if the eXtension part of the filename (~%%xa
) is NEQ (not equal to) '.bat' (/i
means case-insensitive comparison)"
请参阅文档提示中的 for /? |more
。
顺便说一句 - "wanna" 不是一个词。
我会post我的批次只是为了展示一批中的排除和包含方式只是为了演示。
@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"