
【已解決】批處理通過文件名列表對文件操作生成失敗清單出錯基本情況 我在本論壇上大俠給出的BAT基礎上,摸索著寫了下面的批處理。 第一步是根據各個文件名列表(TXT)新建子目錄(用各文件名列表它的文件名);第二步是根據各文件名列表里的各行,將MP4文件進行重命名及移入相應的子目錄文件夾內。 如果上述失敗,則生成失敗清單文件(TXT)。試驗情況1、為了謹慎起見,我先用2個文件名列表在其它文件夾內來試,能在達到目的,沒有問題, 然后才動手進行操作。2、出現下列問題后,我再用4個文件名列表在其它文件夾內試,也能達到目的,沒有問題。再多數量就沒有再試了出現的問題1、對同一個文件名列表,會生成兩個失敗清單TXT(比如對應著文件名列表A,有“A合集移動失敗”及“A合集移動失敗合集移動失敗”2個清單)。2、上述三個TXT文件,內容都是一樣的。3、新建的子目錄文件夾確是生成了。我大致瀏覽了其中幾個,相應文件都實際成功移入了----但是還是有上述三個文件。(MP4文件很多,有上千個;相應的文件名列表及生成的子目錄也很多,有20多個吧;我沒有一一查驗)求助:現在是失敗清單不OK,我估計是BAT的循環出問題了。被動的是,我不知道有哪些是成功操作的,哪些是失敗的。所以附上代碼,請各位高手不吝指導!感謝!
nclick="copycode($('code0'));">復制代碼
- @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

