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

[文本处理] XP下批处理怎样把文件名顺序排列输出?

[复制链接]
发表于 2021-6-13 07:28:39 | 显示全部楼层 |阅读模式
比如jpg,bmp图片,文件名有的含数字,有的不含数字,如何顺序排列并输出文件名
发表于 2021-6-13 18:48:26 | 显示全部楼层
  1. @echo off
  2. dir /b *.*|sort
  3. pause
复制代码
 楼主| 发表于 2021-6-13 19:35:52 | 显示全部楼层
1.jpg
10.jpg
100.jpg
11.jpg
12.jpg
2.jpg
20.jpg
A.bat
背景.png
第31日.jpg
请按任意键继续. . .

没有顺序排列
发表于 2021-6-13 19:43:54 | 显示全部楼层
第三方的sort
sort -n

评分

参与人数 1技术 +1 收起 理由
猪科技 + 1 666

查看全部评分

 楼主| 发表于 2021-6-14 08:11:35 | 显示全部楼层
C:\Downloads>sort -n
-n系统找不到指定的文件。

windows不支持-n
发表于 2021-6-14 08:15:37 | 显示全部楼层
回复 3# 猪科技
Sort是按首字符的ASCII码大小排序,相同则比较下一个。默认小的在前面,大的在后面。
 楼主| 发表于 2021-6-14 08:39:02 | 显示全部楼层
谢谢,也就是说,100,里面是1和0,所以100比2小,2比3小那Sort排序还真是没救了
发表于 2021-6-14 08:49:17 | 显示全部楼层
排序是一个复杂的问题,程序一般是按字符来的。通常有按字母和数字顺序排序的说法。
发表于 2021-6-14 10:33:11 | 显示全部楼层
回复 5# 猪科技


    linux 下的 sort ,支持按数字排序
    我用的msys2
发表于 2021-6-14 12:39:00 | 显示全部楼层
回复 5# 猪科技


4楼说的是这个 sort.exe 第三方命令行工具
http://bcn.bathome.net/s/tool/index.html?key=sort

评分

参与人数 1技术 +1 收起 理由
猪科技 + 1 666

查看全部评分

发表于 2021-6-14 17:27:22 | 显示全部楼层
  1. @if(0)==(0) echo off&setlocal enabledelayedexpansion
  2. @for /f "delims=" %%i in ('dir /b/a-d/on "*.jpg" "*.png" "*.bmp"') do (
  3.     @for /f "delims=" %%j in ('echo %%i^|cscript -nologo -e:jscript "%~f0"') do (
  4.     set str=00000000%%j&set str=!str:~-8!
  5.     )
  6. echo !str!-%%i>>sort.txt
  7. )
  8. pause & exit /b
  9. @end
  10. WSH.echo(WScript.StdIn.ReadAll().replace(/^[^0-9.]+([0-9]+)/g, '$1').replace(/^[^0-9.]+/g, '99999999:').match(/^[0-9]+/g).join('\r\n'))
复制代码
  1. @echo off&@CD /D "%~dp0"
  2. for /f "tokens=2* delims=-" %%i in ('type sort.txt^|sort /+1') do (
  3. echo %%i
  4. )
  5. pause
复制代码
只会分开弄,第一次获取文件名补0和加9后输出TXT,第二次读取TXT进行排列,
谁知道怎么合并?不输出TXT

评分

参与人数 1技术 +1 收起 理由
猪科技 + 1 666

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 20:04 , Processed in 0.032221 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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