Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2703
Благодарности: 1682

Профиль | Отправить PM | Цитировать


Вот CMD. Подсчет размера папок без посторонних утилит. Общий размер папок при больших размерах в рамках CMD сделать наверное можно, но трудоёмко
Код: Выделить весь код
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion

Set "BoxIn=Z:\PC86\CONS_BASE2\BASE"
Set "SubDir=ARB BCN BDV BMS BPV BSK"
Set "OutFile=Z:\Box_Out\Обзор Консультант Плюс.txt"

Pushd "%BoxIn%"
>"%OutFile%" (
	Echo %BoxIn%
	Echo:
	FOR %%i IN (%SubDir%) DO (
		Set "N1="
		Set "N2="
		FOR /F "usebackq tokens=* delims= " %%j IN (`Dir /S /A:-D "%%i"`) DO Set "N2=!N1!" & Set "N1=%%j" 
		Echo %%i  !N2! 
	)
)
Popd
То же самое, данные передаются в аргументах
Код: Выделить весь код
@Echo Off
If "%~3"=="" Cls &Echo Недостаточно аргументов &Pause &Exit /b 240

SetLocal EnableExtensions EnableDelayedExpansion

Set "BoxIn=%~1"
Set "SubDir=%~2"
Set "OutFile=%~3"

Pushd "%BoxIn%"
>"%OutFile%" (
	Echo %BoxIn%
	Echo:
	FOR %%i IN (%SubDir%) DO (
		Set "N1="
		Set "N2=Папка не найдена"
		If Exist "%%i" FOR /F "usebackq tokens=* delims= " %%j IN (`Dir /S /A:-D "%%i" 2^>nul`) DO Set "N2=!N1!" & Set "N1=%%j" 
		Echo %%i  !N2! 
	)
)
Popd
GoTo :Eof
Пример вызова (допустим, скрипт называется skript.bat):
Код: Выделить весь код
script.bat "Z:\PC86\CONS_BASE2\BASE" "ARB BCN BDV BMS BPV BSK" "Z:\Box_Out\Обзор Консультант Плюс.txt"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 10-12-2017 в 11:36.


Отправлено: 22:15, 08-12-2017 | #6