[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样给字母或数字排序?

本帖最后由 pcl_test 于 2016-7-12 17:06 编辑

批处理中有这样的一个变量
set ww=defhcb
或者是set ww=d e f h c b
如果按26个字母的顺序排列位如下结果(再增加字母也可以按这个要求排序):
bcdefh
b c d e f h

通用的类似问题,
纯数字如何排序
set ww=95437
set ww=9 5 4 3 7
执行后显示为从小达到
34579
3 4 5 7 9
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 3# freesoft00


    举个栗子
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (d e f h c b) do set #%%a=%%a
  4. set #
  5. for %%a in (11 2 9 0 34 6) do (
  6.     set n=000000000000%%a
  7.     set _!n:~-10!=%%a
  8. )
  9. set _
  10. pause
复制代码
2

评分人数

TOP

回复 2# pcl_test


    再请教一下纯批处理是否可以办到

TOP

  1. /*&cls
  2. @echo off
  3. set str1=defhcb
  4. set str2=d e f h c b
  5. set str3=95437
  6. set str4=9 5 4 3 7
  7. cscript -nologo -e:jscript "%~f0" "%str1%" "%str2%" "%str3%" "%str4%"
  8. pause & exit/b
  9. */
  10. WSH.echo(WScript.Arguments(0).split('').sort().join(''))
  11. WSH.echo(WScript.Arguments(1).split(' ').sort().join(' '))
  12. WSH.echo(WScript.Arguments(2).split('').sort().join(''))
  13. WSH.echo(WScript.Arguments(3).split(' ').sort(function(a,b){return a-b}).join(' '))
复制代码
1

评分人数

TOP

返回列表