中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 11:34
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何使文件按文件名长短排列? 查看 838 回复 8
楼 主 如何使文件按文件名长短排列? 发表于 2008-08-15 23:07 ·  中国 福建 三明 电信
初级用户
★★
积分 175
发帖 108
注册 2008-05-19 01:24
18年会员
UID 119060
性别 男
状态 离线
如何使同一文件夹下所有文件按文件名长短排列?先谢了
2 发表于 2008-08-15 23:20 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
计算长度的时候,包括文件的扩展名吗?
3 发表于 2008-08-15 23:25 ·  中国 福建 三明 电信
初级用户
★★
积分 175
发帖 108
注册 2008-05-19 01:24
18年会员
UID 119060
性别 男
状态 离线
包括,谢了
4 发表于 2008-08-16 00:02 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
for %%a in ("C:\test\*.*") do (
for /f "skip=1 delims=:" %%b in ('^(echo "%%~nxa"^&echo.^)^|findstr /o ".*"') do set /a length=%%b-5
if !length! lss 10 (
set .00!length!%%~nxa=%%~nxa
) else if !length! lss 100 (
set .0!length!%%~nxa=%%~nxa
) else (
set .!length!%%~nxa=%%~nxa
)
)
for /f "tokens=2 delims==" %%a in ('set .') do echo %%a
5 发表于 2008-08-16 00:33 ·  中国 福建 三明 电信
初级用户
★★
积分 175
发帖 108
注册 2008-05-19 01:24
18年会员
UID 119060
性别 男
状态 离线
不行啊,运行后并没有变成按文件名长短排序
6 发表于 2008-08-16 00:47 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
哦,明白你的意思了。
Windows支持这个功能吗?撇开批处理不谈,你是如何手工实现的?
7 发表于 2008-08-16 01:01 ·  中国 福建 三明 电信
初级用户
★★
积分 175
发帖 108
注册 2008-05-19 01:24
18年会员
UID 119060
性别 男
状态 离线
我没有办法,那是否有办法输出到一个文件下让所有文件按文件名长短排序
8 发表于 2008-08-16 02:14 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
for %%a in ("C:\test\*.*") do (
for /f "skip=1 delims=:" %%b in ('^(echo "%%~nxa"^&echo.^)^|findstr /o ".*"') do set /a length=%%b-5
if !length! lss 10 (
set .00!length!%%~nxa=%%~nxa
) else if !length! lss 100 (
set .0!length!%%~nxa=%%~nxa
) else (
set .!length!%%~nxa=%%~nxa
)
)
for /f "tokens=2 delims==" %%a in ('set .') do echo %%a>>C:\result.txt
9 发表于 2008-08-16 22:27 ·  中国 福建 三明 电信
初级用户
★★
积分 175
发帖 108
注册 2008-05-19 01:24
18年会员
UID 119060
性别 男
状态 离线
对了,谢了
论坛跳转: