|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] узнать размер папок. экспорт в txt |
|
CMD/BAT - [решено] узнать размер папок. экспорт в txt
|
Старожил Сообщения: 267 |
Профиль | Отправить PM | Цитировать
как реализовать через bat либо vbs
чтобы узнать полный размер всех папок, которые находятся с .bat в одной папке. и сохранить список размеров по порядочку в txt (без названия папок. просто столбик размеров в Мб (желательно) либо в Кб) как сделать чтобы полный размер папок считался так, как будто я на нее в винде нажал alt+enter |
|
Отправлено: 20:36, 21-05-2010 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать работает батник, только слишком много информации, выводит все подпапки, абсолютно все
Но если речь зашла о батнике, Вы не могли бы выложить код батника, который посчитает размер как и предоставленный Вами vbs размер каждой папки в директории ну и в конце(в начале) размер этого каталога баником удобнее будет |
Отправлено: 18:11, 10-11-2018 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось megaloman, 10-11-2018 в 20:29. Отправлено: 20:00, 10-11-2018 | #22 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать |
Отправлено: 05:50, 11-11-2018 | #23 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать palexa, а почему бы не добавить
chcp 1251 >nul в самое начало батника, третей строкой, а не внутрь цикла. При этом, естественно, и сам батник сохранить в 1251 при наличии кириллицы в задаваемых путях? |
------- Последний раз редактировалось megaloman, 11-11-2018 в 06:51. Отправлено: 06:44, 11-11-2018 | #24 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Лучше обзавестись вменяемым средством для работы с поддержкой различных кодировок.
|
Отправлено: 07:14, 11-11-2018 | #25 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать ещё хочу спросить, как в этом батнике сделать что бы он не переписывал файл, а дописывал строки ниже
|
Отправлено: 11:07, 11-11-2018 | #26 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать palexa, вместо
>"%Out%" Echo %iSize% %BoxIn% >>"%Out%" Echo %iSize% %BoxIn% А еще лучше им не пользоваться - по сравнению с VBS медленно. |
------- Отправлено: 12:01, 11-11-2018 | #27 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать спасибо
Заметил что на много медленнее, но пока устроит |
Отправлено: 12:22, 11-11-2018 | #28 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать palexa,
Вот вариант: гибрид bat и js, работает многократно быстрее голимого CMD, можно получить байты, килобайты, мегабайты, гигабайты
@set @E=1; /* @Echo Off CHCP 1251 >nul Set "BoxIn=D:\Мой контент" Set "Out=D:\Мой контент байт.inf" Set "Out1=D:\Мой контент килобайт.inf" Set "Out2=D:\Мой контент мегабайт.inf" Set "Out3=D:\Мой контент гигабайт.inf" >>"%Out%" Call :InDir "%BoxIn%" >"%Out1%" Call :InDir "%BoxIn%" 1 >"%Out2%" Call :InDir "%BoxIn%" 2 >"%Out3%" Call :InDir "%BoxIn%" 3 Pause GoTo :Eof :InDir FOR /F "usebackq delims=" %%z IN (`Cscript //NoLogo /E:jscript "%~dpnx0" "%~1" "%~2"`) DO Call :Out "%%z" "%~1" "%~2" For /F "usebackq delims=" %%d IN (`2^>nul Dir "%~1" /B /A:D`) DO ( FOR /F "usebackq delims=" %%z IN (`Cscript //NoLogo /E:jscript "%~dpnx0" "%~1\%%d" "%~2"`) DO Call :Out "%%z" "%%d" "%~2" ) GoTo :Eof :Out SetLocal Set "S= %~1" Set "S=%S:~-12%" If "%~3"=="1" Set "S=%S:~-9%" If "%~3"=="2" Set "S=%S:~-6%" If "%~3"=="3" Set "S=%S:~-3%" Echo %S% %2 EndLocal GoTo :Eof */ var oArg = WScript.Arguments; if (oArg.Count() < 1) { WScript.Echo("Arguments absent"); WScript.Quit(1); } var FSO=WScript.CreateObject("Scripting.FileSystemObject"); if (!FSO.FolderExists(oArg(0))) { WScript.Echo(oArg(0) + " not found"); WScript.Quit(2); } try {var sFold=FSO.GetFolder(oArg(0)).Size} catch (err) {if (err != 0) { WScript.Echo(oArg(0)+" "+err.description); WScript.Quit(3)} } if (oArg.Count() == 2) { if (oArg(1)==1) sFold = Math.round(sFold/1024); if (oArg(1)==2) sFold = Math.round(sFold/1024/1024); if (oArg(1)==3) sFold = Math.round(sFold/1024/1024/1024); } WScript.Echo(sFold); WScript.Quit(0) |
------- Отправлено: 19:15, 11-11-2018 | #29 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать Спасибо, попробую
|
Отправлено: 19:24, 11-11-2018 | #30 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Размер папок | NIC444 | Microsoft Windows 7 | 5 | 15-09-2014 09:32 | |
Отображаемый размер квотируемых папок | rrev | Microsoft Windows NT/2000/2003 | 7 | 29-09-2009 09:46 | |
[решено] Вставить строчку из одного txt в оределённое место другого txt | ZeroCrash | AutoIt | 7 | 13-07-2009 07:35 | |
Ограничения на размер профиля+исключение папок из профиля | Grug | Microsoft Windows NT/2000/2003 | 2 | 04-03-2009 11:09 | |
Доступ - Ограничение на размер папок | Xavier Teodonius | Microsoft Windows 2000/XP | 2 | 10-04-2008 12:12 |
|