|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление всех файлов (всех типов) из всех подпапок, кроме расширений txt |
|
|
CMD/BAT - [решено] Удаление всех файлов (всех типов) из всех подпапок, кроме расширений txt
|
Новый участник Сообщения: 11 |
Профиль | Отправить PM | Цитировать Здравствуйте, у нас в институте нужно удалять из общей папки сервера все файлы кроме текстовых.
Не удаляет скрытые файлы, хотя /A: RSHAIL ключ H удаления скрытых есть. И ещё он не удаляет файлы во вложенных папках Помогите пожалуйста сделать на bat или vbs? вот мой пример: |
|
Отправлено: 08:22, 12-02-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата kot318:
Примерно так: @echo off
setlocal enableextensions enabledelayedexpansion
for /f "usebackq delims=" %%i in (
`2^>nul dir /b /s /a:-d "E:\Песочница\0433\*.*"`
) do if /i "%%~xi" neq ".txt" echo del /f /q /a "%%~fi"
endlocal
exit /b 0
|
|
Последний раз редактировалось Iska, 12-02-2015 в 10:00. Причина: Добавил забытое «/a». Отправлено: 09:05, 12-02-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1758
|
|
Отправлено: 09:13, 12-02-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Foreigner, да, это ещё быстрее. А я опять забыл в своём коде про «/a» . Добавил.
|
Отправлено: 10:00, 12-02-2015 | #4 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать После подсказки Foreigner мой батник принял вид
У Iska, Foreigner как-то элегантнее :-(
|
|
------- Последний раз редактировалось megaloman, 12-02-2015 в 12:14. Причина: Убрал лишние ключи в Dir Отправлено: 10:27, 12-02-2015 | #5 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Спасибо всем, первый пример работает просто идеально после того как добавили A (наконец то удалил скрытые файлы), второй не удаляет если в расширении 4 символа, третий ещё не успел проверить. Подскажите пожалуйста а как сделать чтобы этот запущенный скрипт срабатывал каждые 5 секунд? А то я через планировщик Windows (Task Sheduler) я попробовал назначить, а там минимум минута |
|
Отправлено: 10:51, 12-02-2015 | #6 |
Ветеран Сообщения: 1758
|
Цитата megaloman:
|
|
Отправлено: 11:33, 12-02-2015 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата kot318:
Цитата kot318:
Цитата kot318:
|
|||
Отправлено: 12:59, 12-02-2015 | #8 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Цитата Foreigner:
Цитата Iska:
Вот почему он его оставил, не потому что 4 символа, а потому что в свойствах только на чтение, простите невнимательность. Вообще с этими файлами только на чтение и скрытый сплошные проблемы. Цитата Iska:
Там для лабораторных работ папка. Недавно он поймал вирус шифровальщик и тот перепортил всё что было, антивирус не помог. Вот такие дела, важного ничего не было, но обидно очень, ведь его кто-то потом запустил двойным кликом. Сейчас стоит задача защититься от двойного клика по непонятному файлу. Есть ли какой-нибудь способ заставить крутиться ваш код на сервере каждые пять секунд? Может быть из автозагрузки запуcтить vbs а в нём типа такого? (Этот скрипт vbs лежит в атозагрузке и заставляет почту быть вечно запущенной, сколько бы её не закрывали): Dim WshShell set WshShell = WScript.CreateObject("WScript.Shell") strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") do'бесконечный цикл Set colProcesses = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'OUTLOOK.EXE'") If colProcesses.Count = 0 Then Set colProcesses = Nothing 'вызывает удаление объекта из памяти и вообще его уничтожение. WshShell.Run "OUTLOOK" Else 'Wscript.Echo " OUTLOOK.EXE Запущен." End If wscript.sleep 10000 ' пауза, 10000 = 10 секунд. loop' конец бесконечного цикла Может ли в батнике запущенном этот код выполняться бесконечно? |
|||
Последний раз редактировалось kot318, 12-02-2015 в 13:33. Отправлено: 13:14, 12-02-2015 | #9 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Моя задача решилась.
Огромное ВСЕМ спасибо!!! Ваш форум лучший. |
Отправлено: 14:16, 12-02-2015 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление Папки и всех подпапок и файлов | sashok60 | Скриптовые языки администрирования Windows | 16 | 02-03-2016 08:54 | |
CMD/BAT - Удаление всех файлов из подпапок | Scumtron | Скриптовые языки администрирования Windows | 2 | 17-10-2013 16:15 | |
CMD/BAT - Удаление всех файлов из папки кроме батника | composter | Скриптовые языки администрирования Windows | 11 | 30-03-2013 08:25 | |
CMD/BAT - [решено] Удаление всех файлов с одним именем на всех дисках | ZARG-X | Скриптовые языки администрирования Windows | 3 | 08-03-2010 11:53 | |
CMD/BAT - [решено] удаление всех файлов и подпапок в нескольких папках | alexandri | Скриптовые языки администрирования Windows | 18 | 12-01-2010 05:33 |
|