
CODE: [Copy to clipboard]@echo off
:: 行内不能包含空格
:: 程序名不能以A打头,不能包含半角逗号和分号
:: 速度有点慢
cd.>tmp.txt
for /f "delims=" %%i in (A.txt) do (
set "str=%%i"
setlocal enabledelayedexpansion
if "!str:~0,1!"=="A" (
echo.>>tmp.txt
set var=%%i
) else (
endlocal&set var=!var!
)
set /p str!var!=%%i <nul>>tmp.txt
endlocal
)
cd.>B.txt
for /f "delims=" %%i in ('sort tmp.txt') do (
for %%j in (%%i) do >>B.txt echo %%j
echo.>>B.txt
)
del tmp.txt
start B.txt
CODE: [Copy to clipboard]@echo off&setlocal enabledelayedexpansion
if "%~1"=="" (
for /f "tokens=1* delims= " %%a in ('"%~0" h^|sort') do (
if "%%b"=="" (echo.) else echo.%%b
)
pause&exit
)
for /f "tokens=1* delims=:" %%a in ('findstr /n .* a.txt') do (
set "str=%%b"
if "!str:~0,1!"=="A" set var=%%b
if "%%b"=="" (echo !var!) else echo !var! %%b
)
goto :eof
CODE: [Copy to clipboard]@echo off
cd.>b.txt
for /f "tokens=1* delims=:" %%i in ('findstr /in "^A[0-9][0-9][0-9]$" "A.txt"^|sort') do set .%%j=%%i
for /f "tokens=1,2 delims=.=" %%i in ('set.') do call:lp %%i %%j
pause
goto :eof
:lp
set .%1=
set/a n=%2-1
if %2 equ 1 (set skip=) else set skip=skip=%n%
for /f "%skip% delims=" %%i in (A.txt) do (
if defined .%%i echo.>>b.txt&goto :eof
>>b.txt echo %%i&set .%1=ok
)
echo.>>b.txt
| Quote: | |
|
| Quote: | |
|
| Quote: | |
|
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) | Powered by Discuz! 2.5 |