中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-04 03:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教下txt文件怎么按每行的字符数排列 查看 906 回复 6
楼 主 请教下txt文件怎么按每行的字符数排列 发表于 2007-04-10 05:32 ·  中国 浙江 阿里云BGP节点
新手上路
积分 10
发帖 4
注册 2007-03-07 04:23
19年会员
UID 80960
性别 男
状态 离线
可以用DOS命令实现吗?
例如:
-------------------
1
23123
12
435345
3
-------------------

排列后变为

-------------------
1
3
12
23123
435345
-------------------
2 发表于 2007-04-10 13:13 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

Re ldlcau:

用了一个笨方法来达到目的,只适合处理小文件。

@Echo Off&Setlocal EnableDelayedExpansion
for /f "delims=" %%a in (a.txt) do echo %%a>%%a.ok
for /f "delims=" %%a in ('dir /a-d/b/os *.ok') do (echo %%~na>>file.ext)
for /f "delims=" %%a in (a.txt) do del "%%a.ok"
start notepad file.ext

3 发表于 2007-04-10 21:18 ·  中国 广东 广州 白云区 电信
高级用户
★★
积分 846
发帖 247
注册 2006-10-27 12:03
19年会员
UID 68504
性别 男
来自 湖南==》广东
状态 离线
纯数字 用sort 似乎更快
4 发表于 2007-04-11 00:42 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by youxi01 at 2007-4-10 08:18:
纯数字 用sort 似乎更快


兄写一个出来吧,呵呵~
5 发表于 2007-04-11 01:12 ·  中国 浙江 阿里云BGP节点
新手上路
积分 10
发帖 4
注册 2007-03-07 04:23
19年会员
UID 80960
性别 男
状态 离线
Originally posted by lxmxn at 2007-4-10 12:13 AM:

用了一个笨方法来达到目的,只适合处理小文件。

@Echo Off&Setlocal EnableDelayedExpansion
for /f "delims=" %%a in (a.txt ...



非常感谢,可以实现

要是能过滤一下首尾空格就好了

[ Last edited by ldlcau on 2007-4-10 at 12:14 PM ]
6 发表于 2007-04-11 01:21 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by ldlcau at 2007-4-10 12:12:
非常感谢,可以实现

要是能过滤一下首尾空格就好了
[ Last edited by ldlcau on 2007-4-10 at 12:14 PM ]


哪里有空格,可以说清楚吗?

如果有空格,那就是你的原文件里面有空格了。
7 发表于 2007-04-11 05:23 ·  中国 北京 联通
中级用户
★★
替身
积分 269
发帖 130
注册 2007-03-23 21:41
19年会员
UID 82683
性别 女
状态 离线

@echo off&setlocal enabledelayedexpansion
set/p a=输入最大数的位数:
for /l %%a in (1,1,%a%) do (
set b=!b!
call :CBD !b!
)
notepad cc.txt
goto:eof
:CBD
(findstr /r "^%1$" bb.txt 2>nul|sort)>>cc.txt
论坛跳转: