回复 1# 8532200
你所谓的完美bat实际上是不完美的,能够分类文件是因为凑巧而已。比如用此代码去处理你现在提供的文件,就会建立001、002文件夹进行分类。
“delims=分割”后面的字符是按单个字符(”分“和”割')进行处理的,比如处理“001分类朱雀记分割1.txt”,会将文件名分为3部分:001,类朱雀记,1.txt;由于tokens=1,只会取第一部分“001”。最好的办法是将多于1个的所谓关键词替换为单字符,再进行分割处理。具体你现在的需求,可以用以下代码:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
- set "str=%%i"
- set "str=!str:分类=:!"
- set "str=!str:分割=:!"
- for /f "tokens=2 delims=:" %%a in ("!str!") do (
- if not exist %%a md %%a
- move "%%i" "%%a"
- )
- )
- pause
复制代码
|