Существует ли команда Windows, которая произведет размер в байтах указанного файла как это?
> filesize test.jpg
65212
Я знаю что dir
команда производит эту информацию, но она производит другую информацию также.
Я мог легко записать такую программу, но я предпочту использовать собственную команду Windows, если это возможно, или только что доступно в новой установке Windows XP.
Если Вы в сценарии пакетной обработки, можно использовать приемы переменной аргумента для получения размера файла:
filesize.bat:
@echo off
echo %~z1
Это дает результаты как те, Вы предлагаете в своем вопросе.
Тип
help call
в командной строке для всех сумасшедших переменных опций управления. Также см. эта статья для получения дополнительной информации.
Редактирование: Это только работает в Windows 2000 и позже
Так как Вы используете XP, Windows PowerShell является опцией.
(Get-Item filespec ).Length
или как функция
function Get-FileLength { (Get-Item $args).Length }
Get-FileLength filespec
Если Вы не хотите делать это в сценарии пакетной обработки, можно сделать это из командной строки как это:
for %I in (test.jpg) do @echo %~zI
Ужасный, но это работает. Можно также передать в маске файла для получения списка больше чем для одного файла:
for %I in (*.doc) do @echo %~znI
отобразит размер, имя файла каждого.DOC файла.
В Powershell можно сделать:
$imageObj = New-Object System.IO.FileInfo("C:\test.jpg")
$imageObj.Length
В PowerShell вы должны сделать следующее:
(Get-ChildItem C:\TEMP\file1.txt).Length