[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 aloha20200628 于 2024-6-10 19:25 编辑

回复 1# 1139054012

以下代码存为 test.bat 置于字幕文件目录(*.ass *.ssa *.srt)下运行...
  1. @echo off &set "tc=「繁体」" &set "sc=「简体」"
  2. (md %tc% & md %sc%) 2>nul
  3. for /f "delims=" %%F in (' dir /b/a-d "*.tc.???" "*.sc.???" ') do (
  4. set "_s=%%F" &set "s=%%~nF" & setlocal enabledelayedexpansion
  5. if /i "!s:~-2!"=="tc" (move /y "!_s!" "!tc!\!s:~0,-2!%%~xF") else (
  6. move /y "!_s!" "!sc!\!s:~0,-2!%%~xF"
  7. )
  8. endlocal
  9. )
  10. pause&exit/b
复制代码
1

评分人数

TOP

回复 3# 1139054012

碰巧字幕文件名中有!字符
已订正2楼代码,再试试吧...

TOP


来个现场备注》包含!等字符的路径文件名必须在开启延迟变量前把包含特殊字符的相应字段(%%F 或 %%~nF)取给相应的%var%变量,以便在开启延迟变量后能保全%var%中的特殊字符...

TOP

返回列表