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

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

Закрытая тема
Настройки темы
CMD/BAT - [решено] Удаление по маске, кроме папки исключения.

Новый участник


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

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


Всем привет, есть такой вот батник:
@echo off
For /R C:\ %%i in (*.mp3,*.jpg,*.jpeg,*.avi,*.mov) Do (
Del /q "%%i")

Подскажите как можно сделать так что бы этот батник работал но не удалял ничего в папке C:\Shared
Если через бат такое нельзя, то если не затруднит выложите на другом языке, подходящем для logon скрипта win 2k3.

Отправлено: 13:50, 12-07-2011

 

Googler


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

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


Цитата serjei:
что бы этот батник работал но не удалял ничего в папке C:\Shared »
такой вариант:
Код: Выделить весь код
for /d %%a in ("C:\*") do if /i not "%%a"=="C:\Shared" (del/s/q %%~sa\*.mp3 %%~sa\*.jpg %%~sa\*.jpeg %%~sa\*.avi %%~sa\*.mov
)

Последний раз редактировалось amel27, 13-07-2011 в 05:08.

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

Отправлено: 15:48, 12-07-2011 | #2



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

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


Новый участник


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

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


Работает, только в корне диска С:/ не удаляет ничего.

Отправлено: 04:56, 13-07-2011 | #3


Googler


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

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


Цитата serjei:
в корне диска С:/ не удаляет »
добавить отдельную строку для этого случая:
Код: Выделить весь код
for /d %%a in (C:\*) do if /i not "%%a"=="C:\Shared" del/s/q %%~sa\*.mp3 %%~sa\*.jpg %%~sa\*.jpeg %%~sa\*.avi %%~sa\*.mov
del /q C:\*.mp3 C:\*.jpg C:\*.jpeg C:\*.avi C:\*.mov

Отправлено: 05:29, 13-07-2011 | #4


Новый участник


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

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


Большое спасибо.

Отправлено: 09:44, 13-07-2011 | #5


Новый участник


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

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


Подниму тему, дабы не плодить)) А как вместо удаления сделать перемещение файлов в сетевую папку на основе этого батника? Так что бы он сканил по расширению и перемещал эти файлы на сетевую папку.

Отправлено: 06:57, 01-08-2011 | #6


Googler


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

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


serjei, на основе этого батника не получится - в отличии от DEL, команда MOVE НЕ может:

- самостоятельно обрабатывать подкаталоги;
- принимать в командной строке несколько параметров - шаблонов имен файлов

Поэтому, требуется максимально конкретная постановка новой задачи: ЧТО и КУДА перемещать... Кстати, при перемещении из разных подкаталогов имена файлов могут совпасть, как быть в этом случае?.. На форуме неоднократно поднимались похожие темы, для примера:

CMD/BAT - [решено] Батник сбора файлов из поддиректорий в общую папку
CMD/BAT - [решено] Перемещение и удаление файлов по условию и маске

Отправлено: 10:58, 01-08-2011 | #7


Новый участник


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

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


Собственно нужно все .mp3 .jpg и проч удалять на компах юзверей. Но собственно не все пользователи перенесли рабочие фото на сервер, так вот чтоб не нароком ничего лишнего не удалить, первое время я хотел скидывать все доки на сервер, и если там что важное, то вернуть хозяину с "бонусом" за внимательность. Этот батник который все удаляет, сканит ведь винты по маске и удаляет, а мне нужно что бы он так же сканил винты но не удалял а переносил все на сервер.

http://forum.oszone.net/showthread.php?p=1179744 вот этот подходит вроде, но я со своими познаниями врядли интерпретирую)) Может кто поможет в этом деле?

Последний раз редактировалось serjei, 01-08-2011 в 12:45.


Отправлено: 11:16, 01-08-2011 | #8


Googler


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

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


serjei, вариант с сохранением исходной структуры каталогов,
для каждого ПК на сервере создается своя папка с таким же именем:
Код: Выделить весь код
@echo off
set SHARE=\\MyServer\BACKUP

for /d %%a in (C:\*) do (set "$a=%%a"
 SetLocal EnableDelayedExpansion
 if /i not "!$a:~3!"=="Shared" if /i not "!$a:~3!"=="Windows" if /i not "!$a:~3!"=="Program Files" (
  pushd "!$a!\" && (for /f "delims=" %%A in ('"dir/b/s/a-d *.jpg *.mp3 2>Nul"') do (
  xcopy/q/y/z/v "%%A" "%SHARE%\%ComputerName%%%~pA">Nul && del/f/q "%%A")
  popd))
EndLocal)

Последний раз редактировалось amel27, 02-08-2011 в 03:50. Причина: непарные pushd/popd

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

Отправлено: 14:17, 01-08-2011 | #9


Новый участник


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

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


Спасибо))

Отправлено: 04:52, 02-08-2011 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удалить папки по маске run0ut Скриптовые языки администрирования Windows 9 21-03-2017 01:27
CMD/BAT - [решено] Перемещение и удаление файлов по условию и маске VitHAK Скриптовые языки администрирования Windows 14 23-12-2013 08:57
CMD/BAT - [решено] Удаление файлов по маске во времменых папках IE Shpil83 Скриптовые языки администрирования Windows 16 25-05-2012 15:06
CMD/BAT - [решено] удаление файлов по маске имени hlpain Скриптовые языки администрирования Windows 4 02-09-2011 16:11
CMD/BAT - [решено] Перемещение (удаление) директорий по маске ven00m Скриптовые языки администрирования Windows 17 15-11-2009 10:24




 
Переход