
[已解決]批處理檢查當前目錄下文件名是否符合規則最后由 a6236130 于 -6-5 14:29
- @echo off
- setlocal enabledelayedexpansion
- >list.log echo 不符合命名規則的文件列表:
- for /d /r %%D in (*) do (
- for %%F in (%%D*) do (
- set fullFileName=%%~nxF
- set parentDir=%%~nxD
- set lastDash=!fullFileName:*-=-!
- set folderName=!fullFileName:~0,-5!
- set expectedName=!folderName!-!fullFileName:~-4!
- if NOT !fullFileName! == !expectedName! (
- echo %%D%%F >> list.log
- )
- )
- )
- pause
nclick="copycode($('code0'));">復制代碼
數據規則1、文件名格式為文件所在文件夾名稱-文件名,其中文件名中最后一個“-”之前就是文件夾名稱,“-”之后則是文件名(即文件名中最后五位數為“-”+原四位數文件名)。注意:文件名中的文件夾名稱中存在“-、·“,故而需要以文件名中最后一個“-”進行判斷取值文件夾名稱和文件名。功能1、遍歷當前目錄下所有文件夾和文件。2、檢查所有文件的文件名是否為文件所在上級文件夾名稱-文件名。3,如有檢查出文件名不符合文件所在上級文件夾名稱-文件名該規則的,則將該文件記錄下來,保存為list.log。請問我的代碼哪里出問題了?最好有個詳細代碼,我好對比一下。求解!