由于在for中使用set进行变量处理,需要开启环境变量延迟。所以建议您把您的命令写入bat脚本文件中,使用脚本的形式执行。
具体的代码如下
@echo off &title 以KB和MB的形式显示文件大小 By 依梦琴瑶
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d/b/o-s/s/b "D:\desktop" ^| find "新建"') do (
set /a VarKB=%%~za/1024
set /a VarMB=%%~za/1024/1024
echo %%a!VarKB! KB!VarMB! MB
)
pause
由于set /a计算范围的限制,如果数字位数过大,可能会无法正常计算,而且还不能计算得到带小数点的。所以要想更加完美的显示计算后的文件大小,建议使用vbs代码来辅助计算。
CMD下没有针对具体文件大小 *** 作的命令,只有一个dir /os能够针对文件大小进行排列。因为在XP内的搜索功能已经很完全了,所以附带的DOS系统也没有必要完成很复杂的 *** 作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)