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

[文本处理] [已解决]批处理如何对以纯数字命名的文件夹按数值大小排序

本帖最后由 pcl_test 于 2016-11-9 17:58 编辑

没有0补全的数字怎么重新排列顺序
1
10
11
12
13
14
15
2
3
4
5
6
7
8
9
我要输出文本后数字以最小到最大
2

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
    • pcl_test: 不是没有,而是你不会变通PB -4

回复 1# 小小菜鸟
看你需要排序的数的多少 再写代码

TOP

回复 2# terse


    dir获取的

TOP

  1. print join ", ",  sort { $a <=> $b } qw/
  2.     10 11 12 13 14 15 16 17 18 19 1 20 21 22 23 24 25 26 27 28 29 2 30 31 32
  3.     /;
复制代码
输出
1, 2, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32


Perl,跨区回复

TOP

补0, 排序, 删0

TOP

只想知道你dir什么获取的,文件夹?没有扩展名的文件?
http://www.bathome.net/viewthread.php?tid=9092

TOP

回复 6# pcl_test
  1. for /F "delims=" %%a in ('dir /b /ad') do echo %%a
复制代码
这样获取的方式会固定数字顺序

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('type "%~f1"')do (
  3. set "num=%%~ni"
  4. for /l %%n in (1,1,100)do set "num=0!num!"
  5. set "new_!num:~-100!=%%~ni"
  6. )
  7. for /f "tokens=1,* delims==" %%i in ('set new_')do (
  8. echo,%%j
  9. )
  10. pause
复制代码
1

评分人数

这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 8# /zhqsystem/zhq


    牛啊,能用中文解释一下吗

TOP

回复 9# 小小菜鸟
改变变量值在原有变量前添加100个0,取值后100个字符,设置为变量=原始值,重新加载变量,顺序取值,也可以用创建文本方式重排,原始值写入文本内DIR一下也可以,而且支持大到小排列,支持超过内存限制
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

  1. rem win7及以上系统运行
  2. dir /b /ad|powershell -c "$input|sort {1*$_}"
  3. rem powershell -c "dir|?{$_.PSIsContainer}|sort {1*($_.Name)}"
  4. pause
复制代码

TOP

返回列表