|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление всех файлов из папки |
|
CMD/BAT - [решено] Удаление всех файлов из папки
|
Старожил Сообщения: 483 |
Цитата 7human7:
|
||
Отправлено: 11:41, 09-02-2009 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать megaloman,
Первый код ставит на удаление: Содержимое папки C:\Users\User\Desktop\TheBatPortable\Data\Mail\ХХХ@MAIL.RU\IMAP т.е. не ту папку (IMAP). А второй код обрабатывает только одну папку: Содержимое папки C:\Users\User\Desktop\TheBatPortable\Data\Mail\ХХХ@MAIL.RU\Outbox т.е. только Outbox (без Sent, Trash) и другие ящики не обрабатывает (например 555@MAIL.RU и т.д.) находящиеся в C:\Users\User\Desktop\TheBatPortable\Data\Mail\ (( |
Отправлено: 00:38, 14-06-2022 | #41 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать Цитата 4zz:
Подозреваю, у Вас имеются скрытые папки и/или файлы. Попробуйте вариант: Если надо чистить только три подпапки: Outbox, Sent, Trash @Echo Off cls >nul chcp 1251 If Not "%~1"=="" Call :MyDel "%~1" "*.*" &Exit /B 0 Set "BoxIn=C:\Users\User\Desktop\TheBatPortable\Data\Mail" For /f "usebackq delims=" %%d In (`2^>nul Dir "%BoxIn%\*@mail.ru" /B /S /A:D`) Do ( Call :MyDel "%%d\Outbox\" "*.*" ||Exit /B 0 Call :MyDel "%%d\Sent\" "*.*" ||Exit /B 0 Call :MyDel "%%d\Trash\" "*.*" ||Exit /B 0 ) Exit /B 0 :MyDel cls If Not Exist "%~1%~2" (Echo ??? Files "%~1%~2" not Found &Pause &Exit /B 0) Dir /W /A:-D "%~1%~2" Echo. &Echo Эти файлы будут удалены "%~1%~2" &Echo. Choice /N /C YNX /M "N -Не удалять файлы; Y -Удалить файлы; X -Завершение работы >" If %ErrorLevel% EQU 3 Exit /B 2 If %ErrorLevel% EQU 2 Exit /B 0 Del /Q /A:R /A:-D "%~1%~2" Exit /B 0 @Echo Off cls >nul chcp 1251 If Not "%~1"=="" Call :MyDel "%~1" "*.*" &Exit /B 0 Set "BoxIn=C:\Users\User\Desktop\TheBatPortable\Data\Mail" For /f "usebackq delims=" %%d In (`2^>nul Dir "%BoxIn%\*@mail.ru" /B /S /A:D`) Do ( For /f "usebackq delims=" %%s In (`2^>nul Dir "%%d" /B /A:D`) Do ( Call :MyDel "%%d\%%s\" "*.*" ||Exit /B 0 ) ) Exit /B 0 |
|
------- Отправлено: 11:10, 14-06-2022 | #42 |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать 4zz, Мы с Вами разговаривали о папках ххх@mail.ru, а реально их больше с разными почтовыми ящиками. Вот слегка изменённые (не принципиально, только для удобства настройки масок файлов и папок)
Жестко прописаны подпапки в папках с сcылкой на почту (с символом @)
@Echo Off cls >nul chcp 1251 Set "Fmask=*.*" Set "Dmask=*@*.*" If Not "%~1"=="" Call :MyDel "%~1" "%Fmask%" &Exit /B 0 Set "BoxIn=C:\Users\User\Desktop\Новая папка\Data\Mail" For /f "usebackq delims=" %%d In (`2^>nul Dir "%BoxIn%\%Dmask%" /B /S /A:D`) Do ( Call :MyDel "%%d\Outbox\" "%Fmask%" ||Exit /B 0 Call :MyDel "%%d\Sent\" "%Fmask%" ||Exit /B 0 Call :MyDel "%%d\Trash\" "%Fmask%" ||Exit /B 0 ) Exit /B 0 :MyDel cls If Not Exist "%~1%~2" (Echo ??? Files "%~1%~2" not Found &Pause &Exit /B 0) Dir /W /A:-D "%~1%~2" Echo. &Echo Эти файлы будут удалены "%~1%~2" &Echo. Choice /N /C YNX /M "N -Не удалять файлы; Y -Удалить файлы; X -Завершение работы >" If %ErrorLevel% EQU 3 Exit /B 2 If %ErrorLevel% EQU 2 Exit /B 0 Del /Q /A:R /A:-D "%~1%~2" Exit /B 0 В папках с сcылкой на почту (с символом @) обрабатываются все подпапки
@Echo Off cls >nul chcp 1251 Set "Fmask=*.*" Set "Dmask=*@*.*" If Not "%~1"=="" Call :MyDel "%~1" "%Fmask%" &Exit /B 0 Set "BoxIn=C:\Users\User\Desktop\Новая папка\Data\Mail" For /f "usebackq delims=" %%d In (`2^>nul Dir "%BoxIn%\%Dmask%" /B /S /A:D`) Do ( For /f "usebackq delims=" %%s In (`2^>nul Dir "%%d" /B /A:D`) Do ( Call :MyDel "%%d\%%s\" "%Fmask%" ||Exit /B 0 ) ) Exit /B 0 :MyDel cls If Not Exist "%~1%~2" (Echo ??? Files "%~1%~2" not Found &Pause &Exit /B 0) Dir /W /A:-D "%~1%~2" Echo. &Echo Эти файлы будут удалены "%~1%~2" &Echo. Choice /N /C YNX /M "N -Не удалять файлы; Y -Удалить файлы; X -Завершение работы >" If %ErrorLevel% EQU 3 Exit /B 2 If %ErrorLevel% EQU 2 Exit /B 0 Del /Q /A:R /A:-D "%~1%~2" Exit /B 0 Прилагаю распечатки работы этих батников. На всякий случай, архив с Вашей структурой папок и файлами, которые я туда напихал для отладки. Кстати, один скриншот в Вашем архиве у меня не разархивировался - пишет, что подпорчен. |
------- Отправлено: 15:19, 14-06-2022 | #43 |
Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать megaloman, СПАСИБО!)
|
Отправлено: 15:55, 14-06-2022 | #44 |
Ветеран Сообщения: 1310
|
Профиль | Отправить PM | Цитировать всем привет
писал для себя скрипт для чистки iconcache и thumbcache под win 7-10 @echo off :: Очистить кэш иконок cd /d "%userprofile%\AppData\Local" del /f /q /a:-d IconCache* del /f /q IconCache* cd /d "%userprofile%\AppData\Local\Microsoft\Windows\Explorer" del /f /q /a:-d IconCache* del /f /q /a:-d thumbcache* del /f /q IconCache* del /f /q thumbcache* timeout /t 1 ie4uinit.exe -show ie4uinit.exe -hide timeout /t 1 cd /d "%userprofile%\AppData\Local\Microsoft\Internet Explorer" del /f/q/a *.log del /f/q/a *.txt exit @echo off :: Очистить кэш иконок cd /d "%userprofile%\AppData\Local" del /f /q /a:-d IconCache* del /f /q IconCache* cd /d "%userprofile%\AppData\Local\Microsoft\Windows\Explorer" del /f /q /a:-d IconCache* del /f /q /a:-d thumbcache* del /f /q IconCache* del /f /q thumbcache* timeout /t 1 ie4uinit.exe -cleariconcache exit ключ a:-d нашел в какой-то теме на форуме, но потом встретил, что можно просто /f /q /a так вот как более правильно или гарантированнее удалятся файлы со всеми возможными атрибутами? |
------- Отправлено: 09:44, 06-11-2023 | #45 |
Crazy Сообщения: 1227
|
Профиль | Отправить PM | Цитировать Цитата Wu-Tang:
|
|
------- Отправлено: 17:13, 06-11-2023 | #46 |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать Wu-Tang,
Цитата Wu-Tang:
![]() Для создания файлов для тестирования можно исполнить батник @Echo Off &cls 2>nul Md Delete.kuku cd.>Delete.kuku\h.kuku Attrib Delete.kuku\h.kuku +H cd.>Delete.kuku\s.kuku Attrib Delete.kuku\s.kuku +S cd.>Delete.kuku\a.kuku Attrib Delete.kuku\a.kuku +A cd.>Delete.kuku\r.kuku Attrib Delete.kuku\r.kuku +R cd.>Delete.kuku\sh.kuku Attrib Delete.kuku\sh.kuku +S +H Attrib Delete.kuku\*.kuku Pause Exit /B |
|
------- Последний раз редактировалось megaloman, 06-11-2023 в 18:07. Отправлено: 18:02, 06-11-2023 | #47 |
Crazy Сообщения: 1227
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Заморачиваться над исправлением в микрософте просто не стали, т.к. новая оболочка уже в действии, а cmd просто заморозили, хоть и не вырезали пока. |
|
------- Отправлено: 19:56, 06-11-2023 | #48 |
Ветеран Сообщения: 1310
|
Профиль | Отправить PM | Цитировать YuS_2,
да я знаю, что такого ключа в справке нет, но самое интересное, что работает для всех файлов с любыми атрибутами. megaloman, вроде пашет на тестовых. а как мне тогда переписать свои скрипты, так: @echo off :: Очистить кэш иконок cd /d "%userprofile%\AppData\Local" del IconCache* /A /F cd /d "%userprofile%\AppData\Local\Microsoft\Windows\Explorer" del IconCache* /A /F del thumbcache* /A /F timeout /t 1 ie4uinit.exe -show ie4uinit.exe -hide timeout /t 1 cd /d "%userprofile%\AppData\Local\Microsoft\Internet Explorer" del /f/q/a *.log del /f/q/a *.txt exit |
------- Последний раз редактировалось Wu-Tang, 07-11-2023 в 06:05. Отправлено: 05:31, 07-11-2023 | #49 |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать Wu-Tang, Насчет ie4uinit.exe не в курсе, но удаление надежнее сделать без CD (не тестировал)
|
------- Последний раз редактировалось megaloman, 07-11-2023 в 13:19. Отправлено: 13:08, 07-11-2023 | #50 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление Папки и всех подпапок и файлов | sashok60 | Скриптовые языки администрирования Windows | 16 | 02-03-2016 08:54 | |
CMD/BAT - [решено] удаление всех файлов и подпапок в нескольких папках | alexandri | Скриптовые языки администрирования Windows | 18 | 12-01-2010 05:33 | |
CMD/BAT - [решено] Удаление всех папок с одним именем на всех дисках | volk1234 | Скриптовые языки администрирования Windows | 15 | 13-11-2009 02:13 | |
Удаление всех папок и файлов из папки c:\Temp | DIKPro | Microsoft Windows NT/2000/2003 | 10 | 15-08-2006 16:20 | |
[решено] Удаление всех файлов определенного формата | Grub | Хочу все знать | 4 | 24-03-2006 12:27 |
|