|
|
本帖最后由 annwayili 于 2024-1-4 20:45 编辑
试写了一个BAT但不成功,所以特向大家求助!
当前目录下有一些MP4文件和其它文件。
拟通过本目录下的文件名列表(武松合集文件列表.txt),
需求1:对本目录下的部分文件按该列表中的名字进行重命名。 (其实就是在视频合集文件名前面加上序号)
需求2:对在列表中有,但本目录下不存在的文件,新建立一个”重命名失败.txt”。
本目录下的文件如下:
武松合集文件列表.txt
武松打虎 喝酒.mp4
武松打虎 上山.mp4
武松打虎 认兄.mp4
林冲棒打洪教头.mp4 ----->属于无关的其它文件
鲁智深拳打镇关西.mp4 ----->属于无关的其它文件
ABC.txt ------>属于无关的其它文件
”武松合集文件列表.txt“中的内容如下:
001武松打虎 喝酒
002武松打虎 上山
003武松打虎 遇虎
004武松打虎 认兄
最终的处理结果希望当前目录下的文件如下:
武松合集文件列表.txt
001武松打虎 喝酒.mp4
002武松打虎 上山.mp4
003武松打虎 认兄.mp4 ----->这里写错了,应该是004武松打虎 认兄
林冲棒打洪教头.mp4 ----->属于无关的其它文件,不变
鲁智深拳打镇关西.mp4 ----->属于无关的其它文件,不变
ABC.txt ------>属于无关的其它文件,不变
重命名失败.txt ------>新增文件,保存处理失败的内容
尝试了一个批处理,但确实水平有限,无论是从判断字符串是否相同,还是用文件是否存在等方式,都无法做到主要目的,所以就法继续下去了。- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1 delims=" %%a in (武松合集文件列表.txt) do (
- set str1=%%a
- set var1=!str1:~3!
- for %%b in (*.mp4) do (
- if !%%b! equ !var1! (
- echo %%aOK
- ) else echo !var1! 不OK
- )
- )
- pause
复制代码 以上情况,具体也见下图:

请各位指导!非常感谢! |
评分
-
查看全部评分
|