标题: [文本处理] bat怎么将文本文件里的字符串按长短来排列 [打印本页]
作者: 2362262019 时间: 2018-7-3 18:27 标题: bat怎么将文本文件里的字符串按长短来排列
我有一个文本文件a.txt
斗罗大陆
校花的贴身高手
药神
三字经
这几个按字符串的长短来排列,并且放入到b.txt
b.txt
1.药神
2.三字经
3.斗罗大陆
4.校花的贴身高手
像这样的排列!
本人在写一个图书管理系统,想提升一下自己的水平。
求助大佬!
作者: codegay 时间: 2018-7-3 18:35
日常建议。换其它语言。
作者: CrLf 时间: 2018-7-3 19:55
PowerShell走一个- $list = type a.txt | sort {[text.encoding]::GetEncoding('gb2312').GetBytes($_.name).length}
- $result = 1..($list.length) | %{'{0}.{1}' -F $_,$list[$_-1].name}
- $result >b.txt
复制代码
作者: CrLf 时间: 2018-7-3 20:08
批处理+hta走一个- mshta http://bathome.net/s/hta/index.html ^
- type(a.txt)^
- .replace(/[\u0100-\uffff]/g,'$0:')^
- .split(/\r?\n/)^
- .sort(function(a,b){return a.length-b.length})^
- .join('\r\n')^
- .replace(/:/g,'')^
- >b.txt
复制代码
作者: CrLf 时间: 2018-7-3 20:34
来来来,纯批奇技淫巧走一个- @echo off
- (for /f "tokens=*" %%a in (a.txt) do (
- echo %%a: :
- ))>$
- (for /f "tokens=1,2 delims=:" %%a in ('more /t100 $') do (
- echo %%b%%a
- ))>$2
- (for /f "tokens=*" %%a in ('sort $2') do (
- echo %%a
- ))>b.txt
- pause
复制代码
当然,建议听2楼劝
作者: Batcher 时间: 2018-7-4 09:10
建议换成高级语言+数据库
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |