Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 用于添加除batchfiles之外的多个文件的后缀的批处理_Windows_Batch File_Add_Rename_Suffix - Fatal编程技术网

Windows 用于添加除batchfiles之外的多个文件的后缀的批处理

Windows 用于添加除batchfiles之外的多个文件的后缀的批处理,windows,batch-file,add,rename,suffix,Windows,Batch File,Add,Rename,Suffix,我已经找到了一些重命名文件的解决方案。 有些并没有真正起作用,有些只是在文件结尾后添加了后缀 @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

我已经找到了一些重命名文件的解决方案。 有些并没有真正起作用,有些只是在文件结尾后添加了后缀

@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”

是否可以在带有异常(for.bat)的for条件中使用
*.
? 批处理文件的代码是什么样子的

另一件事是只为.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这样的程序。但是,由于我总是想做同样的广告(而不是同时),只按批次比打开选择并用porgram重命名批次更快:)

问候 chrisdi91

意思是“如果文件名(
~%%xa
)的扩展名部分是NEQ(不等于)'.bat'(
/i
表示不区分大小写的比较)”

有关/,请参见
|更多信息
,请参见文档提示

顺便说一句,“想要”不是一个词

意思是“如果文件名(
~%%xa
)的扩展名部分是NEQ(不等于)'.bat'(
/i
表示不区分大小写的比较)”

有关/,请参见
|更多信息
,请参见文档提示


顺便说一句,“想要”不是一个词。

我将发布我的批,只是为了展示一批中的排除和包含方式,只是为了演示

@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"

我将发布我的批次,只是为了在一个批次中显示排除和包含方式,只是为了演示

@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"

请参阅
帮助以了解
您不希望将后缀附加到扩展名,而是在扩展名之前插入。您的Ren命令应该类似于
Echo-Ren“%%a”“%%~na Tenor 1%%~xa”
当输出看起来正常时,为了安全起见,请删除Echo。您可以在
中为
指定多个文件模式,如下所示:
for%%F in(*.txt*.pdf)do-Ren“%%~F”“%%~nF Tenor 1%%~xF”
…请参阅
帮助以了解
您不希望将后缀附加到扩展名,而是在之前插入。您的Ren命令应该看起来像
Echo-Ren“%%a”“%%~na Tenor 1%%~xa”
当输出看起来正常时,Echo是为了安全。您可以在
中为
指定多个文件模式,如下所示:
for%%F in(*.txt*.pdf)do-Ren“%%~F”“%%~nF Tenor 1%%~xF”
…我同意,尤其是“想要”部分…;-)谢谢你,顺便说一句!这
对于(*.*)中%%a的Do IF/i“%%~xa”neq.bat”(Ren“%%a”“%%~na Tenor 1%%~xa”)
的工作原理如下:)我同意——特别是“想要”部分…;-)谢谢你,顺便说一句!这是(*.*)中%%a的
如果/i“%%~xa”neq.bat”(Ren“%%a”“%%~na Tenor 1%%~xa”)
应该如何工作:)
@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"