本帖最后由 /zhqsystem/zhq 于 2017-4-28 23:50 编辑
自己缩减吧,主要是考虑多用途才写了2个重复段,另外样本与给出的结果不符
- for /f "delims=" %%i in ('dir/a-d/s/b "*.txt"')do (
- for /f "usebackq delims=" %%j in ("%%~fi")do (
- set "#=%%j"
- call:0
- echo,!title!!part!!avid!%%~xi
- )
- )
- pause
- goto:eof
- :0
- set "title="
- set "avid="
- set "part="
- :1
- if not defined # goto:eof
- for /f "tokens=1,* delims={}:," %%y in ("!#!")do (
- set "#=%%z"
- for /f "delims=" %%i in (""title"")do if /i "%%y"=="%%i" (
- for /f "tokens=1,* delims=:," %%y in ("%%z")do (
- set "%%~i=%%~y"
- if defined %%~i set "%%~i=%%~y"
- )
- )
- for /f "delims=" %%i in (""avid"")do if /i "%%y"=="%%i" (
- for /f "tokens=1,* delims=:," %%y in ("%%z")do (
- set "%%~i=%%~y"
- if defined %%~i set "%%~i= (%%~y)"
- )
- )
- for /f "delims=" %%i in (""part"")do if /i "%%y"=="%%i" (
- for /f "tokens=1,* delims=:," %%y in ("%%z")do (
- set "%%~i=%%~y"
- if defined %%~i set "%%~i=_%%~y"
- )
- )
- )
- goto:1
- goto:eof
复制代码
|