联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off for /f "delims=: tokens=1" %%i in ('dir /a-d /b d:\temp ^| findstr /n .*') do ( set str=%%i set /a str-=1 call :lp %%str%% ) pause :lp set var=skip=%1 if "%var%"=="skip=0" set var= set n=1 :begin for /f "%var% delims=_ tokens=%n%" %%i in ('dir /a-d /b d:\temp') do ( set /a n+=1 set b=%%i setlocal enabledelayedexpansion set b=!b:.txt=! echo !b!&goto begin endlocal ) echo.&goto :eof
@echo off for /f %%a in (test.txt)do set e=%%~na &call:d %%e:_= %% pause :d if [%1]==[] goto :eof echo.%1 shift goto :d
Originally posted by abcd at 2008-4-3 19:05:@echo off setlocal enabledelayedexpansion for /r d:\tmp %%i in (*) do ( set str=%%~ni set str=!str:_=;! for %%j in (!str!) do echo %%j echo. ) pause>nul这样不 ...
@echo off setlocal enabledelayedexpansion for /r d:\tmp %%i in (*) do ( set str=%%~ni set str=!str:_=;! for %%j in (!str!) do echo %%j echo. ) pause>nul
Originally posted by plp626 at 2008-4-3 19:02: 楼上,想得有点复杂了吧. 假设test.txt内为: d:\tmp\11_223_321_42.txt d:\tmp\12_456.txt @echo off for /f %%a in (test.txt)do set e=%%~na &call:d %%e:_= %% pause :d i ...
@echo off for /f %%a in (test.txt)do set e=%%~na &call:d %%e:_= %% pause :d if [%1]==[] echo.&goto :eof echo %1 shift goto :d
@echo off for /f "delims=" %%i in (test.txt) do call :loop "%%~ni" pause :loop for /f "tokens=1* delims=_" %%a in ("%~1") do ( echo %%a if not "%%b"=="" call :loop "%%b" ) goto :eof
Originally posted by zw19750516 at 2008-4-3 07:28 PM: shift变量移位确实妙!!!但这段代码对两个文件之间的分隔还是没实现,echo.%1中eho.是无效命令,改为: [code]@echo off for /f %%a in (test.txt)do set e=%%~n ...
Originally posted by zw19750516 at 2008-4-3 07:22 PM: 自己测试吧。。。。。。。。。。。