如何删除文件名中指定字符及其后符的bat命令?

我有很多srt文件,文件名中后面都有.zh,.zh后面有时还有长短不等的文字,如.zh-hans,.zh-GN,.zh-cf等等。我想找大神写一个bat,批量删除srt文件名中自.zh(包括.zh)和后面的文字,但保留srt扩展名

您可以使用以下的批处理脚本来实现批量删除.srt文件名中的.zh和后续文字:

@echo off

setlocal enabledelayedexpansion

rem 设置要处理的文件路径

set "folder=C:\path\to\your\srt\files"

rem 遍历文件夹中的所有srt文件

for %%F in ("%folder%\*.srt") do (

rem 获取文件名和扩展名

set "filename=%%~nF"

set "extension=%%~xF"

rem 删除.zh和后续文字

set "newname=!filename:.zh*=!"

rem 重命名文件

ren "%%F" "!newname!!extension!"

)

echo 批量删除.zh和后续文字完成。

pause

请将上述代码中的C:\path\to\your\srt\files替换为您实际的srt文件所在文件夹的路径。运行批处理脚本后,它会批量处理该文件夹中的所有srt文件,删除文件名中的.zh和后续文字,但保留.srt扩展名。

在运行批处理脚本之前,建议您在操作文件之前备份相关的srt文件,以防意外删除或重命名。

追问

没反应啊

温馨提示:内容为网友见解,仅供参考
第1个回答  2023-06-03

Get-ChildItem -Path ".\*.srt" | % {Rename-Item $_.FullName $_.Name.Replace('.zh*', '')}

    将该文本文档另存为.bat文件,比如"rename_srt.bat"。

    双击运行该.bat文件,它将会批量重命名所有srt文件,并删除文件名中从“.zh”开始的所有字符,但保留原有的文件扩展名。

    请根据具体情况进行修改。此外,使用该脚本前建议先备份一下文件,以免误删或影响文件数据。

如何删除文件名中指定字符及其后符的bat命令?
rem 删除.zh和后续文字 set "newname=!filename:.zh*=!"rem 重命名文件 ren "%%F" "!newname!!extension!")echo 批量删除.zh和后续文字完成。pause 请将上述代码中的C:\\path\\to\\your\\srt\\files替换为您实际的srt文件所在文件夹的路径。运行批处理脚本后,它会批量处理该文件夹中的所有srt文件...

bat批量移除文件名中指定字符
1、右键单击需要删除的文件,然后选择属性选项。2、之后在属性界面找到安全,然后单击安全,接着单击安全下方的编辑。3、然后将新弹出界面中间的“Authenticated Users的权限”中的完全修改项调整为允许。4、最后单击最下方的应用和确定就完成了administrators权限的设置,之后就可以正常删除该文件了。bat就可以...

如何不用软件批量删除Windows文件名中的特定字符串?
结论:批量删除Windows文件名中的特定字符串,无需软件,有以下两种简便方法。方法一:在文本文档中粘贴以下内容,保存为.bat文件,只需修改第三行的字符串即可:echo offsetlocal enabledelayedexpansionset "str=[mqms2]"for \/f "delims=" %%i in ('dir \/b *.mp3') do (set "var=%%i" & ren...

求助bat删除文件夹名指定字符及其后续部分
另存为xx.bat,编码选ANSI\/GB2312,跟要处理的多个文件夹放一起双击运行<# :cls&echo off&cd \/d "%~dp0"&mode con lines=5000rem 将当前目录下多个子文件夹名称中的指定字符及其后面所有字符内容删除path %SYSTEMROOT%\\System32\\WindowsPowerShell\\v1.0;...

求bat批量删除文件夹名中的特定字符和后面的字符
echo off & title 批量删除特定字符 By 依梦琴瑶cd \/d %~dp0::脚本放在要处理的主文件夹内执行即可call :Initializefor \/f "delims=" %%a in ('dir \/ad\/b *相册_*') do ( call :Operation "%%~a")call :Revise "%Cache%"echo, & echo 完成操作,请按任意键退出!pause>nulcall...

如何批量删除文件名特定字符(含特定字符自身)后的文字?
如果是的话,你可以使用下面的批处理 echo offfor \/r %%a in (*) do ( for \/f "delims=-" %%b in ("%%~nxa") do ( ren "%%a" "%%b%%~xa" ))pause请把上面的内容复制到文本文档中,保存为bat文件,在你当前目录下运行。有疑问,请追问。如果对你有帮助,请采纳!谢谢!

求bat批处理命令,批量删除子文件特定字符后面的字符
echo off & title 批量删除文件名中#号后面的文字 By 依梦琴瑶for \/f "delims=" %%a in ('dir \/a-d\/s\/b *.jpg') do ( for \/f "tokens=1 delims=#" %%b in ("%%~na") do ( ren "%%~a" "%%~b%%~xa" ))pause脚本保存编码设为ANSI ...

怎么用bat批量去掉文件名最后的“_”和“数字”?
1、在待修改的jpg所在的文件夹内新建一个TXT文本 2、打开这个txt文本,输入下面的文字 echo off ::Deep Lee setlocal enabledelayedexpansion for %%f in (*.jpg) do (echo %%f set name=%%f ren !name! !name:~0,-7%!.jpg )Pause 注意:7是怎么来的,比如你要删除的内容_01共有3位,...

批处理删除文件名中的指定文字
存为myren.bat,放在目标文件夹下,然后在cmd中进入目标路径,输入:myren.bat 任意内容 然后程序就会把所有mp4文件名中的“任意内容”删掉。echo off setlocal enabledelayedexpansion for \/f "delims=" %%i in ('dir *.mp4 \/a \/b') do (set f=%%i set nf=!f:%1=!ren !f! !nf!)如果您...

批处理删除文件名中的指定文字
把下面的批处理存为myren.bat,放在目标文件夹下,然后在cmd中进入目标路径,输入:myren.bat 任意内容 然后程序就会把所有mp4文件名中的“任意内容”删掉。echo offsetlocal enabledelayedexpansionfor \/f "delims=" %%i in ('dir *.mp4 \/a \/b') do (set f=%%iset nf=!f:%1=!ren !f! !

相似回答
大家正在搜