2016-09-26 2 views
0

Я пытаюсь найти размер, который определенная папка говорит «log» внутри моего текущего каталога. предложите мне командные команды, используемые только для получения размера папки «Журнал».batch command, чтобы найти определенный размер папки

+0

, связанные: [Список папок и его размеры] (http://stackoverflow.com/a/37190069). – aschipfl

ответ

0

я предлагаю одну команду окна его отображения рекурсивно все размер файла и последняя строка показать общий размер папки

«реж/S журнал»

0
@echo off 
for /f "tokens=2 delims=," %%a in ('dir /s /-c log\^|findstr /b /c:" "') do (
    for /f "tokens=1" %%b in ("%%a") do set x=%%b& goto :done 
) 
:done 
echo %x% Bytes in this folder (and subfolders) 

лексем (ы) может быть необходимо адаптировать на местный язык.

+0

Я бы добавил параметр '/ -C' в' dir', так что больше не нужно удалять (зависящие от языка) тысячи разделителей явно ... – aschipfl

+0

@aschipfl ah - Я не думал о '/ -c '. – Stephan

0

Вы можете попробовать это (/ VBScript Пакетный файл):

@echo off 
Title Get Size of Folder and its subfolders 
set "Folder=C:\log" 
Set Log=Folder_Size.txt 
(
    echo The size of "%Folder%" is 
    Call :GetSize "%Folder%" 
)> "%Log%" 
For /f "delims=" %%a in ('Dir "%Folder%" /AD /b /s') do ( 
    (
     echo The size of "%%a" is 
     Call :GetSize "%%a" 
    )>> "%Log%" 
) 
start "" "%Log%" 
::*********************************************************************** 
:GetSize 
(
echo wscript.echo GetSize("%~1"^) 
echo Function GetSize(MyFolder^) 
echo Set fso = CreateObject("Scripting.FileSystemObject"^) 
echo Set objFolder= fso.GetFolder(MyFolder^) 
echo GetSize = FormatSize(objFolder.Size^) 
echo End Function 
echo '******************************************************************* 
echo 'Function to format a number into typical size scales 
echo Function FormatSize(iSize^) 
echo aLabel = Array("bytes", "KB", "MB", "GB", "TB"^) 
echo For i = 0 to 4 
echo  If iSize ^> 1024 Then 
echo   iSize = iSize/1024 
echo  Else 
echo   Exit For 
echo  End If 
echo Next 
echo FormatSize = Round(iSize,2^) ^& " " ^& aLabel(i^) 
echo End Function 
echo '******************************************************************* 
)>%tmp%\Size.vbs 
Cscript /NoLogo %tmp%\Size.vbs 
Del %tmp%\Size.vbs 
Exit /b 
::*********************************************************************** 

Edit: On 27/09/2016 Только для одной папки и не рекурсивной:

@echo off 
mode con cols=67 lines=5 & Color 0A 
Title Get Size of Folder and its subfolders 
set "Folder=C:\HackooTest" 
Set Log=%Folder%_Size.txt 
(
    echo The size of "%Folder%" is 
    Call :GetSize "%Folder%" 
)> "%Log%" 

echo The size of "%Folder%" is 
Call :GetSize "%Folder%" 
pause & Start "" "%Log%" 
exit 
::*********************************************************************** 
:GetSize 
(
echo wscript.echo GetSize("%~1"^) 
echo Function GetSize(MyFolder^) 
echo Set fso = CreateObject("Scripting.FileSystemObject"^) 
echo Set objFolder= fso.GetFolder(MyFolder^) 
echo GetSize = FormatSize(objFolder.Size^) 
echo End Function 
echo '******************************************************************* 
echo 'Function to format a number into typical size scales 
echo Function FormatSize(iSize^) 
echo aLabel = Array("bytes", "KB", "MB", "GB", "TB"^) 
echo For i = 0 to 4 
echo  If iSize ^> 1024 Then 
echo   iSize = iSize/1024 
echo  Else 
echo   Exit For 
echo  End If 
echo Next 
echo FormatSize = Round(iSize,2^) ^& " " ^& aLabel(i^) 
echo End Function 
echo '******************************************************************* 
)>%tmp%\Size.vbs 
Cscript /NoLogo %tmp%\Size.vbs 
Del %tmp%\Size.vbs 
Exit /b 
::*********************************************************************** 
+0

Большое спасибо за ваше предложение. Здесь я получаю размер всех отдельных папок и подпапок внутри папки журнала. Мое фактическое требование состоит в том, чтобы получить один вывод слова, где он отображает размер папки журнала только в целом. Можете ли вы дать предложение здесь? – Joey

+0

@Joey Проверьте мое последнее изменение;) – Hackoo

+0

с последним кодом редактирования. Я получаю это ниже: он показывает строчную строку «Размер пути/папки», но не значение размера. – Joey

Смежные вопросы