当前位置:  开发笔记 > 编程语言 > 正文

Windows命令仅用于文件大小?

如何解决《Windows命令仅用于文件大小?》经验,为你挑选了4个好方法。

是否有Windows命令将输出指定文件的大小(如下所示)?

> filesize test.jpg
65212

我知道dir命令输出这些信息,但它也输出其他信息.

我可以轻松编写这样的程序,但我更愿意使用本机Windows命令(如果可能),或者只使用全新安装的Windows XP中可用的命令.



1> Mike Houston..:

如果您在批处理脚本中,则可以使用参数变量技巧来获取文件大小:

filesize.bat:

@echo off
echo %~z1

这会给出您在问题中建议的结果.

类型

help call

在命令提示符下所有疯狂的变量操作选项.另请参阅此文章以获取更多信息.

编辑: 这仅适用于Windows 2000及更高版本


请注意,这仅适用于一个文件.如果你想传入一个掩码来获取多个文件的大小,可以将第二行更改为`for %% I in(%1)do @echo %% ~znI`.

2> Patrick Cuff..:

如果您不想在批处理脚本中执行此操作,可以从命令行执行此操作,如下所示:

for %I in (test.jpg) do @echo %~zI

丑陋,但它的工作原理.您还可以传入文件掩码以获取多个文件的列表:

for %I in (*.doc) do @echo %~znI

将显示每个.DOC文件的大小,文件名.



3> David Doumèc..:

使用函数摆脱~z运算符中的某些限制,特别适用于for循环:

@echo off
set size=0
call :filesize "C:\backup\20120714-0035\error.log"
echo file size is %size%
goto :eof

:: Set filesize of first argument in %size% variable, and return
:filesize
  set size=%~z1
  exit /b 0



4> 小智..:

试试forfiles:

forfiles /p C:\Temp /m file1.txt /c "cmd /c echo @fsize"

forfiles命令运行命令c为每个文件m的目录p.

变量@fsize将替换为每个文件的大小.

如果文件C:\Temp\file1.txt是27个字节,请forfiles运行以下命令:

cmd /c echo 27

哪个打印27到屏幕上.

作为副作用,它会清除您的屏幕,就像您运行cls命令一样.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有