[英]How to add and remove postfix for all files in folder using BATCH File
I'm trying to add and remove postfix from specific file types in all folders and subfolder. 我正在尝试从所有文件夹和子文件夹中的特定文件类型添加和删除后缀。
I know the code for adding prefix but I don't know the code for postfix 我知道添加前缀的代码,但不知道后缀的代码
Here is my code for prefix 这是我的前缀代码
Adding PreFix: 添加预修复:
@echo off
pushd "D:\Temp\Test\"
for /F "delims=" %%j in ('dir /s /b *.avi *.mkv *.mp4 *.wmv *.mpeg *.flv *.dat *.mov *.asf *.3gp *.srt') do (
rename "%%j" "[my.prefix]-%%~nxj"
)
popd
Removing PreFix: 删除预修复:
@echo off
pushd "D:\Temp\Test\"
for /F "delims=" %%a in ('dir /s /b *.avi *.mkv *.mp4 *.wmv *.mpeg *.flv *.dat *.mov *.asf *.3gp *.srt') do (
set "fname=%%~nxa"
set "fpath=%%~dpa"
setlocal enabledelayedexpansion
set "nname=!fname:~15!"
ren "!fpath!!fname!" "!nname!"
endlocal
)
popd
How to do this for postfix? 如何针对后缀执行此操作?
Add suffix 添加后缀
@echo off
pushd "D:\Temp\Test\"
for /F "delims=" %%j in ('dir /s /b *.avi *.mkv *.mp4 *.wmv *.mpeg *.flv *.dat *.mov *.asf *.3gp *.srt') do (
rename "%%j" "%%~nj-[my.suffix]%%~xj"
)
popd
Remove suffix 删除后缀
@echo off
pushd "D:\Temp\Test\"
for /F "delims=" %%a in ('dir /s /b *.avi *.mkv *.mp4 *.wmv *.mpeg *.flv *.dat *.mov *.asf *.3gp *.srt') do (
set "fname=%%~nxa"
setlocal enabledelayedexpansion
set "nname=!fname:-[my.suffix]=!"
ren "%%a" "!nname!"
endlocal
)
popd
set fileName=thisIsATest_0001
set fileExtension=.avi
echo %fileName:~0,-5%%fileExtension%
Negative values in second part of substring indicate distance from end of string 子字符串第二部分中的负值表示距字符串结尾的距离
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.