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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление по спискам с масками

Ответить
Настройки темы
CMD/BAT - [решено] Удаление по спискам с масками

Аватара для dorosa

Старожил


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

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


Изменения
Автор: dorosa
Дата: 11-03-2012
Здравствуйте!
Столкнулся с такими проблемами:
Удаление папок по списку с использованием масок
читать дальше »
Часть кода для удаления папок по списку
Код: Выделить весь код
  for /F "usebackq delims=" %%A in ("%Resources%\$_Deletes\PE_del_folders.txt") do (
    SET pfnm=%%A
    IF "!pfnm:~0,1!"=="\" (
      IF EXIST "%Mount%!pfnm!" RD /S /Q "%Mount%!pfnm!"
    )
  )
Если в списке полное название папки и пути, то все удаляется отлично.
Кусок PE_del_folders.txt
Код: Выделить весь код
\Windows\winsxs\x86_microsoft-windows-i..l-keyboard-00000449_31bf3856ad364e35_6.1.7601.17514_none_ecd56c86c0325d51
\Windows\winsxs\x86_microsoft-windows-i..l-keyboard-0000044a_31bf3856ad364e35_6.1.7601.17514_none_fe928bb6b4cb1269
Нужно сделать так, чтобы в текстовом файле можно было концовку в названии папки заменить на звездочку или знак вопроса
\Windows\winsxs\x86_microsoft-windows-i..l-keyboard-0000044a_*


Другая проблемка, удаление файлов по списку с использованием масок
читать дальше »
Код: Выделить весь код
  for /F "usebackq delims=" %%A in ("%Resources%\$_Deletes\Del_files.txt") do (
    SET pfnm=%%A
    IF "!pfnm:~0,1!"=="\" (
      IF EXIST "%Mount%!pfnm!" attrib -R -S -H "%Mount%!pfnm!"
      IF EXIST "%Mount%!pfnm!" DEL /S /Q "%Mount%!pfnm!"
    )
  )
Кусок файла Del_files.txt
Код: Выделить весь код
\sources\*.dat
\sources\*.nls
\sources\*.exe
Тут маски работают, но удаление происходит и во вложенных папках, а нужно чтобы удалялось только в указанной
Например - \sources\*.exe
А сейчас удаляются файлы .exe и в папке \sources\recovery\
Чего нужно изменить для получения желаемого результата?

Отправлено: 21:41, 11-03-2012

 

Аватара для gora

Ушёл из жизни


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

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


Цитата dorosa:
Нужно сделать так, чтобы в текстовом файле можно было концовку в названии папки заменить на звездочку »
Попробуйте заменить Вашу строку:
Цитата dorosa:
Код: Выделить весь код
IF EXIST "%Mount%!pfnm!" RD /S /Q "%Mount%!pfnm!"
»
на:
Код: Выделить весь код
For /D %%i In ("%Mount%%%A") Do If EXIST "%%~i" RD /S /Q "%%~i"
Цитата dorosa:
Тут маски работают, но удаление происходит и во вложенных папках, а нужно чтобы удалялось только в указанной »
Уберите ключ /S после команды DEL

Последний раз редактировалось gora, 12-03-2012 в 12:12.

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:33, 12-03-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для dorosa

Старожил


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

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


Цитата gora:
Уберите ключ /S после команды DEL »
Проглядел и уже ни первый раз.
Спасибо!!!
Сработали варианты по обоим кускам кода.

Если можно, то еще наглый вопрос.
Как в эти коды внести исключения, без указания пути и с применением масок.
Причем для удаления папок, исключения как папок (например - keyboard-00000409), так и файлов (например - KBDRU.DLL или KB*.*)?
Можно, а возможно даже лучше, если исключения тоже будут списками в текстовых файлах.

Отправлено: 02:30, 13-03-2012 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление по спискам с масками

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск слова в тексте, удаление строки, удаление 8 строк выше и 3 строк ниже Alk-13 Скриптовые языки администрирования Windows 0 10-02-2012 18:06
администрирование сети с разными масками подсетей. unlaw Microsoft Windows NT/2000/2003 18 17-06-2010 13:52
DNS/DHCP - [решено] как настроить с укороченными масками /27 slaine Сетевые технологии 2 21-07-2009 13:30
Установка - Изменение/удаление в меню "Установска/удаление программ" akalibr Microsoft Windows 2000/XP 8 08-07-2009 13:54
CMD/BAT - удаление GanjaBoss Скриптовые языки администрирования Windows 3 21-04-2009 04:42




 
Переход