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

[文件操作] [分享]批处理以文件名长度升序列示指定文件

[复制链接]
发表于 2023-1-4 15:28:46 | 显示全部楼层 |阅读模式
以文件名长度升序列示指定文件

  1. @echo off
  2. rem 保存为ANSI格式
  3. setlocal enabledelayedexpansion
  4. set "_strlen=set $=^!#1^!#&set ##=&(for %%a in (256 128 64 32 16)do if ^!$:~%%a^!. NEQ . set/a##+=%%a&set $=^!$:~%%a^!)&set $=^!$^!fedcba9876543210&set/a##+=0x^!$:~16,1^!&set ##=  ^!##^!&set ##=^!##:~-3^!"
  5. set /a No=0
  6. (for /f "tokens=*" %%a in ('dir "%~1" /b/s/a-d') do (
  7.         if "%%~fa" NEQ "%~f0" (
  8.                 set "#1=%%~na"
  9.                 (%_strlen%)
  10.                 set Nl=!##!
  11.                 set "#1=%%~fa"
  12.                 (%_strlen%)
  13.                 echo;!Nl!(!##!)        "%%~na"        ( "%%~fa" )
  14.                 set /a No+=1
  15.         )
  16. ))>"%~dpn0.bak"
  17. echo;长度             文件名        (...)>"%~dpn0.txt"
  18. sort "%~dpn0.bak">>"%~dpn0.txt"
  19. del "%~dpn0.bak"
  20. if %No% GEQ 1 (echo;&echo;共 %No% 个文件)>>"%~dpn0.txt"
  21. type "%~dpn0.txt"
  22. echo;&echo;详情见"%~dpn0.txt"
  23. endlocal
  24. echo;&pause
  25. exit /b
复制代码
拖放目标到脚本即可。

评分

参与人数 1技术 +1 收起 理由
yyz219 + 1 感谢分享

查看全部评分

发表于 2023-1-4 20:45:58 | 显示全部楼层
以文件名长度升序列示指定文件拖放目标到脚本即可。
hfxiang 发表于 2023-1-4 15:28



    感谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 06:36 , Processed in 0.017133 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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