bat--批处理--超级简单文本处理

来源:百度知道 编辑:UC知道 时间:2024/09/21 19:52:42
文本a.txt格式如下
7位阿拉伯
7位阿拉伯
.........
我要将a.txt头4行剪切出来生成b.txt(是剪贴a.txt要少4行)
--------------------------------------------------
第2个问题b.txt 里面有4行数字 排序为1234,我要将排序改成4321
批处理,绝对能OK,并且很简单

@echo off
for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" "a.txt"') do (
set h%%a=%%b
if %%a==4 goto P
)
:P
echo %h4%>b.txt
echo %h3%>>b.txt
echo %h2%>>b.txt
echo %h1%>>b.txt
more +4 "a.txt">"templog.txt"
ren "a.txt" "a[%random%].txt"
ren "templog.txt" "a.txt"
start "" "a.txt"
start "" "b.txt"&exit

问题2不好理解,如果b.txt仅仅只是行数颠倒用上边的,如果b.txt内容要求按数字从大到小排序用下边的:

@echo off&setlocal Enabledelayedexpansion
set "f="
for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" "a.txt"') do (
set f=!f! %%b
if %%a==4 goto P
)
:P
set "m="
(for %%j in (%f%)do (set b=%%j&set "s="
for %%i in (!m!)do (if %%j gtr %%i (
set s=!s! %%i)else set s=