标题: [文本处理] [已解决]批处理怎样给字母或数字排序? [打印本页]
作者: freesoft00 时间: 2015-12-16 10:42 标题: [已解决]批处理怎样给字母或数字排序?
本帖最后由 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
作者: pcl_test 时间: 2015-12-16 11:54
- /*&cls
- @echo off
- set str1=defhcb
- set str2=d e f h c b
- set str3=95437
- set str4=9 5 4 3 7
- cscript -nologo -e:jscript "%~f0" "%str1%" "%str2%" "%str3%" "%str4%"
- pause & exit/b
- */
- WSH.echo(WScript.Arguments(0).split('').sort().join(''))
- WSH.echo(WScript.Arguments(1).split(' ').sort().join(' '))
- WSH.echo(WScript.Arguments(2).split('').sort().join(''))
- WSH.echo(WScript.Arguments(3).split(' ').sort(function(a,b){return a-b}).join(' '))
复制代码
作者: freesoft00 时间: 2015-12-17 17:21
回复 2# pcl_test
再请教一下纯批处理是否可以办到
作者: pcl_test 时间: 2015-12-17 17:39
回复 3# freesoft00
举个栗子- @echo off
- setlocal enabledelayedexpansion
- for %%a in (d e f h c b) do set #%%a=%%a
- set #
- for %%a in (11 2 9 0 34 6) do (
- set n=000000000000%%a
- set _!n:~-10!=%%a
- )
- set _
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |