找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25602|回复: 5

[文本处理] bat怎么将文本文件里的字符串按长短来排列

[复制链接]
发表于 2018-7-3 18:27:21 | 显示全部楼层 |阅读模式
我有一个文本文件a.txt
斗罗大陆
校花的贴身高手
药神
三字经
这几个按字符串的长短来排列,并且放入到b.txt
b.txt
1.药神
2.三字经
3.斗罗大陆
4.校花的贴身高手
像这样的排列!
本人在写一个图书管理系统,想提升一下自己的水平。
求助大佬!
发表于 2018-7-3 18:35:33 | 显示全部楼层
日常建议。换其它语言。
发表于 2018-7-3 19:55:52 | 显示全部楼层
PowerShell走一个
  1. $list = type a.txt | sort {[text.encoding]::GetEncoding('gb2312').GetBytes($_.name).length}
  2. $result = 1..($list.length) | %{'{0}.{1}' -F $_,$list[$_-1].name}
  3. $result >b.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
2362262019 + 1 感谢大老指教

查看全部评分

发表于 2018-7-3 20:08:20 | 显示全部楼层
批处理+hta走一个
  1. mshta http://bathome.net/s/hta/index.html ^
  2.   type(a.txt)^
  3.     .replace(/[\u0100-\uffff]/g,'$0:')^
  4.     .split(/\r?\n/)^
  5.     .sort(function(a,b){return a.length-b.length})^
  6.     .join('\r\n')^
  7.     .replace(/:/g,'')^
  8.   >b.txt
复制代码

评分

参与人数 2技术 +2 收起 理由
2362262019 + 1 感谢大佬指教
codegay + 1 秀,花式秀

查看全部评分

发表于 2018-7-3 20:34:46 | 显示全部楼层
来来来,纯批奇技淫巧走一个
  1. @echo off
  2. (for /f "tokens=*" %%a in (a.txt) do (
  3.    echo %%a:        :
  4. ))>$
  5. (for /f "tokens=1,2 delims=:" %%a in ('more /t100 $') do (
  6.    echo %%b%%a
  7. ))>$2
  8. (for /f "tokens=*" %%a in ('sort $2') do (
  9.    echo %%a
  10. ))>b.txt
  11. pause
复制代码
当然,建议听2楼劝

评分

参与人数 2技术 +2 收起 理由
liziyunabcd + 1 牛牛啊!!!!!
2362262019 + 1 蒂花之秀

查看全部评分

发表于 2018-7-4 09:10:09 | 显示全部楼层
建议换成高级语言+数据库
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 13:05 , Processed in 0.020372 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表