|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] определить общий размер удалённых файлов скриптом |
|
CMD/BAT - [решено] определить общий размер удалённых файлов скриптом
|
Пользователь Сообщения: 54 |
Профиль | Отправить PM | Цитировать Привет
Есть скрипт на cmd, для удаления хлама из директорий пользователей for /f "delims=" %%i in ('dir "\\ts7\c$\users\*" /a:d /b') do ( rem pushd "\\ts7\C$\Users\%%i\AppData\Local\Google\Chrome\User Data\Default\Cache" rem rmdir /s /q "\\ts7\C$\Users\%%i\AppData\Local\Google\Chrome\User Data\Default\Cache" del /s /q "\\ts7\C$\Users\%%i\AppData\Local\Google\Chrome\User Data\Default\Cache\*" del /s /q "\\ts7\c$\Users\%%i\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.MSO\*" del /s /q "\\ts7\C$\Users\%%i\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook\*" del /s /q "\\ts7\c$\Users\%%i\AppData\Local\Microsoft\Windows\WER\*" del /s /q "\\ts7\c$\Users\%%i\AppData\Local\Microsoft\Windows\Explorer\*" del /s /q "\\ts7\c$\Users\%%i\AppData\Local\Temp\*" del /s /q "\\ts7\c$\Users\%%i\Downloads\*" ) pause Если это конечно возможно и не сильно повлияет на скорость выполнения скрипта |
|
Отправлено: 20:59, 23-11-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Теоретически — можно. Практически — не имеет смысла сим заморачиваться. Это не WSH и не PoSH.
|
Отправлено: 21:53, 23-11-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать Приходится сначала смотреть место на диске, потом чистить и опять смотреть место, что бы сказать шефу сколько очистилось.
Жутко неудобно ну не имеет так не имеет |
Отправлено: 22:10, 23-11-2018 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать palexa, дело в том, что нет в пакетных файлах простого и незатейливого способа для осуществления озвученного (в отличие от WSH/PoSH).
|
Отправлено: 22:49, 23-11-2018 | #4 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать я понял это, спасибо
|
|
Отправлено: 22:54, 23-11-2018 | #5 |
Ветеран Сообщения: 2710
|
Профиль | Отправить PM | Цитировать palexa,
Гибрид bat и js.
@set @E=1; /* @Echo Off Set "Drive=E" copy E:\testfile.pdf E:\zzzzzzzzzzzzzzz >nul FOR /F "usebackq delims=" %%n IN (`2^>nul Cscript //NoLogo /E:jscript "%~dpnx0" "%Drive%" 0`) DO Set "N_Min=%%n" del E:\zzzzzzzzzzzzzzz FOR /F "usebackq delims= " %%n IN (`2^>nul Cscript //NoLogo /E:jscript "%~dpnx0" "%Drive%" 0`) DO Set "N_Max=%%n" FOR /F "usebackq delims= " %%n IN (`2^>nul Cscript //NoLogo /E:jscript "%~dpnx0" "%Drive%" 1 %N_Max% %N_Min% 2`) DO Set "Delta=%%n" Echo %N_Max% Echo %N_Min% Echo %Delta% GoTo :Eof */ // Arg 1 = Drive // Arg 2 = 0 Echo Free space of drive // Arg 2 = 1 // Arg 3 =Space1 // Arg 4 =Space2 // Arg 5 =0(Byte) 1(Kbyte) 2(Mbyte) 3(Gbyte) var i; var oArg = WScript.Arguments; var nArg=oArg.Count(); if (nArg<2) { WScript.Echo("Error!_Invalid_number_of_arguments!"); WScript.Quit(1); } if (oArg(1)==0){ var FSO=WScript.CreateObject("Scripting.FileSystemObject"); try {var D=FSO.GetDrive(oArg(0)+":")} catch (e) { if (e != 0) { WScript.Echo("Error!_" + oArg(0) + ":_not_exist!"); WScript.Quit(2); } } WScript.Echo(D.FreeSpace); WScript.Quit(0); } if (oArg(1)==1){ if (nArg<5) { WScript.Echo("Error!_Invalid_number_of_arguments!"); WScript.Quit(1); } var D=oArg(2)-oArg(3); if (oArg(4)==0) {WScript.Echo(D);WScript.Quit(0)} if (oArg(4)==1) {WScript.Echo(Math.round(D/1024));WScript.Quit(0)} if (oArg(4)==2) {WScript.Echo(Math.round(D/1024/1024));WScript.Quit(0)} if (oArg(4)==3) {WScript.Echo(Math.round(D/1024/1024/1024));WScript.Quit(0)} WScript.Echo("Error!_Wrong_argument_of_size!"); WScript.Quit(3); } третий вызов - калькулятор разности двух чисел Приходится привлекать для этого js, так как в cmd с большими числами работать затруднительно В приведенном примере перед первым вызовом копируется тестовый файл, после первого - его удаление после третего - разность второго и первого Если надо сетевой путь @set @E=1; /* @Echo Off Set "NetPath=\\Server\Test1" Pushd "%NetPath%" || ( Echo Wrong path "%NetPath%" Pause GoTo :Eof ) FOR /F "usebackq delims=:" %%n IN (`cd`) DO Set "Drive=%%n" copy E:\Test.pdf %Drive%:\zzzzzzzzzzzzzzz >nul FOR /F "usebackq delims=" %%n IN (`2^>nul Cscript //NoLogo /E:jscript "%~dpnx0" "%Drive%" 0`) DO Set "N_Min=%%n" del %Drive%:\zzzzzzzzzzzzzzz FOR /F "usebackq delims= " %%n IN (`2^>nul Cscript //NoLogo /E:jscript "%~dpnx0" "%Drive%" 0`) DO Set "N_Max=%%n" FOR /F "usebackq delims= " %%n IN (`2^>nul Cscript //NoLogo /E:jscript "%~dpnx0" "%Drive%" 1 %N_Max% %N_Min% 1`) DO Set "Delta=%%n" Popd Echo %N_Max% Echo %N_Min% Echo %Delta% GoTo :Eof */ |
------- Последний раз редактировалось megaloman, 24-11-2018 в 01:06. Отправлено: 00:47, 24-11-2018 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 01:49, 24-11-2018 | #7 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата palexa:
2. какая-то регулярная профилактика - дело благое, но то, что вы делаете - профанация: кэши браузеров разрастутся обратно. В загрузках обычно лежит то, что нужно пользователю - вы бы ещё Рабочий стол "почистили". Хотя бы отбивку по времени сделайте. |
|
Отправлено: 10:52, 24-11-2018 | #8 |
fascinating rhythm Сообщения: 6494
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 12:01, 24-11-2018 | #9 |
Пользователь Сообщения: 54
|
Профиль | Отправить PM | Цитировать Что то я сильно перемудрил с задачей
Ведь по сути мне надо знать, то что написано на диске до и после выполнения чистки, когда открываешь "Мой компьютер" А там написано до: 30ГБ свободно из 400ГБ После 50ГБ свободно из 400ГБ Как бы вот оно А мне надо по сети "\\ts7\C$\ |
Последний раз редактировалось palexa, 24-11-2018 в 12:31. Отправлено: 12:17, 24-11-2018 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
HDD - Восстановление удалённых файлов побайтово - возможно ли? | moran1 | Накопители (SSD, HDD, USB Flash) | 2 | 30-04-2018 20:12 | |
Проводник показывает, что общий размер файлов на ДВД больше 200 гигов | Yewgeniy | Хочу все знать | 21 | 24-06-2015 11:08 | |
CMD/BAT - BAT файлом сравнить ряд файлов по размеру - если общий размер сходится удалить | invisibleon | Скриптовые языки администрирования Windows | 16 | 12-10-2012 08:55 | |
Debian/Ubuntu - Восстановление удалённых файлов на ext3 | El Scorpio | Общий по Linux | 7 | 19-11-2011 21:53 | |
Redhat/Fedora - Восстановление удалённых файлов в Red Hat 7. | sergey1234567 | Общий по Linux | 6 | 23-10-2007 09:49 |
|