[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理如何查看某个文件的大小并显示在DOS窗口上?

请教批处理查看文件大小并显示在DOS窗口上,如何实现

例如效果:需要修改一下:
  1. @echo off      
  2. 这里是你帮我弄的代码
  3. echo 该文件大小为: MB
  4. pause
复制代码
1

评分人数

    • batman: 感谢给帖子标题标注[已解决]字样PB + 2

变量扩展
  1. @echo off      
  2. set "testPath=%windir%\system32\ntoskrnl.exe"
  3. call:test1 "%testPath%"
  4. goto next
  5. :test1 xx
  6. echo   %%1  = %1
  7. echo   %%~1  = %~1            - 删除任何引号("),扩充 %%1
  8. echo   %%~f1 = %~f1           - 将 %%1 扩充到一个完全合格的路径名
  9. echo   %%~d1 = %~d1           - 仅将 %%1 扩充到一个驱动器号
  10. echo   %%~p1 = %~p1           - 仅将 %%1 扩充到一个路径
  11. echo   %%~n1 = %~n1           - 仅将 %%1 扩充到一个文件名
  12. echo   %%~x1 = %~x1           - 仅将 %%1 扩充到一个文件扩展名
  13. echo   %%~s1 = %~s1           - 扩充的路径只含有短名
  14. echo   %%~a1 = %~a1           - 将 %%1 扩充到文件的文件属性
  15. echo   %%~t1 = %~t1           - 将 %%1 扩充到文件的日期/时间
  16. echo   %%~z1 = %~z1           - 将 %%1 扩充到文件的大小
  17. echo   %%~$PATH:1 = %~$PATH:1   - 查找列在路径环境变量的目录,并将 %%1 扩充
  18. echo                   到找到的第一个完全合格的名称。如果环境变量名
  19. echo                   未被定义,或者没有找到文件,此组合键会扩充到
  20. echo                   空字符串
  21. echo   %%~dp1 = %~dp1                - 仅将 %%1 扩充到一个驱动器号和路径
  22. echo   %%~nx1 = %~nx1                - 仅将 %%1 扩充到一个文件名和扩展名
  23. echo   %%~fs1 = %~fs1      - 仅将 %%1 扩充到一个带有短名的完整路径名
  24. echo   %%~dp$PATH:1 = %~dp$PATH:1 - 查找列在路径环境变量的目录,并将 %%1 扩充
  25. echo                   到找到的第一个驱动器号和路径。
  26. echo   %%~ftza1 = %~ftza1      - 将 %%1 扩充到类似输出线路的 D0R
  27. echo   %%~a1 = %~a1
  28. echo\&goto:eof
  29. :next
  30. pause
  31. exit
复制代码
“阿姐走了。。。可是。。。我。。。我愿意。”

TOP

dir和for
比如:
for /r %%a in (*) do echo %%~za
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

本帖最后由 batman 于 2011-5-21 10:17 编辑

批版:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%a in (1,1,30) do set "kg=!kg! "
  3. for /r %%a in (*) do (
  4.      set "str=%%~nxa%kg%"
  5.      echo !str:~,20!%%~za
  6. )
  7. pause>nul
复制代码
vbs版:
  1. For i = 1 To 30
  2.   kg = kg & " "
  3. next
  4. Set fso = CreateObject("scripting.filesystemobject")
  5. Set ws = CreateObject("wscript.shell")
  6. For Each file In fso.GetFolder(ws.CurrentDirectory & "\").Files
  7.   vbstr = vbstr & Left(file.Name & kg, 20) & file.Size & vbCrLf
  8. Next
  9. Set ws = Nothing
  10. Set fso = Nothing
  11. MsgBox vbstr
复制代码
***共同提高***

TOP

要求是检测一个文件的大小而不是全部文件夹里的文件大小,并显示在DOS窗口上的那种
例如:
echo 该文件大小为: MB
pause

TOP

dir也可以查看单文件的大小,只不过没有用for来得高效

TOP

@echo off
for /r %%a in (vf4备注.txt) do echo %%~za
echo 文件大小为 %%~za
pause
为什么错误?

TOP

楼主你可以潜阵子水好好看看基础的东西不?你一直在发贴求助,却没有得到一点提高,自己好好想想问题出在哪里。。。
***共同提高***

TOP

本帖最后由 wh1234567 于 2011-5-22 02:41 编辑

哎,版主,我好久没有时间学了,以前学了一点点忘了,现在需要用到可惜难住了,呵呵,你快给我一个例子吧,在线等
原文件名:1.txt
格式要求:
@echo off
你的代码
echo 文件大小为 KB
pause
最近每天都在等你们这几个高手帮我弄弄啊,

TOP

这些都很基础的东西,几个小时就学会了的

TOP

返回列表