标题: 如何使文件按文件名长短排列?
[打印本页]
作者: dddyjq1
时间: 2008-8-15 23:07
标题: 如何使文件按文件名长短排列?
如何使同一文件夹下所有文件按文件名长短排列?先谢了
作者: HAT
时间: 2008-8-15 23:20
计算长度的时候,包括文件的扩展名吗?
作者: dddyjq1
时间: 2008-8-15 23:25
包括,谢了
作者: HAT
时间: 2008-8-16 00:02
@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
作者: dddyjq1
时间: 2008-8-16 00:33
不行啊,运行后并没有变成按文件名长短排序
作者: HAT
时间: 2008-8-16 00:47
哦,明白你的意思了。
Windows支持这个功能吗?撇开批处理不谈,你是如何手工实现的?
作者: dddyjq1
时间: 2008-8-16 01:01
我没有办法,那是否有办法输出到一个文件下让所有文件按文件名长短排序
作者: HAT
时间: 2008-8-16 02:14
@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
作者: dddyjq1
时间: 2008-8-16 22:27
对了,谢了