基本情况
我在本论坛上大侠给出的BAT基础上,摸索着写了下面的批处理。
第一步是根据各个文件名列表(TXT)新建子目录(用各文件名列表它的文件名);
第二步是根据各文件名列表里的各行,将MP4文件进行重命名及移入相应的子目录文件夹内。 如果上述失败,则生成失败清单文件(TXT)。
试验情况
1、为了谨慎起见,我先用2个文件名列表在其它文件夹内来试,能在达到目的,没有问题, 然后才动手进行操作。
2、出现下列问题后,我再用4个文件名列表在其它文件夹内试,也能达到目的,没有问题。再多数量就没有再试了
出现的问题
1、对同一个文件名列表,会生成两个失败清单TXT(比如对应着文件名列表A,有“A合集移动失败”及“A合集移动失败合集移动失败”2个清单)。
2、上述三个TXT文件,内容都是一样的。
3、新建的子目录文件夹确是生成了。我大致浏览了其中几个,相应文件都实际成功移入了----但是还是有上述三个文件。
(MP4文件很多,有上千个;相应的文件名列表及生成的子目录也很多,有20多个吧;我没有一一查验)
求助:
现在是失败清单不OK,我估计是BAT的循环出问题了。
被动的是,我不知道有哪些是成功操作的,哪些是失败的。
所以附上代码,请各位高手不吝指导!
感谢!- @echo off
- rem 批处理保存为ansi编码格式
- cd /d "%~dp0"
- set Ext=*.txt
- for %%i in (%Ext%) do (
- if not exist "%%~ni\" md "%%~ni\"
- for /f "useback delims=" %%a in ("%%i") do (
- for /f "tokens=* delims=1234567890 " %%x in ("%%a") do (
- if exist "%%x.mp4" (
- ren "%%x.mp4" "%%a.mp4"
- move "%%a.mp4" "%%~ni\"
- ) else (
- >>"%%~ni合集移动失败.txt" echo %%a
- )
- )
- )
- )
- pause
复制代码
|