Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/33: Рейтинг темы: голосов - 33, средняя оценка - 4.76
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 17

Поиск и удаление файлов по маске в директории admin$ на удалённых машинах

13.02.2013, 03:02. Показов 6256. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Очень надеюсь на вас в данном вопросе! Пробежав по форму, я наткнулся на парочку тем с похожими вопросами, но попросту не могу понять ваши решения дабы переделать под свои нужны, потому решил всё-же напрямую обратится к гуру
Есть тачки в сети, на них выполняются скрипты(экзешники) посредством psexec, и после выполнения этого скрипта на тачке в папке admin$ остаётся хлам, и иногда из-за этого хлама не запускается удалённо скрипт.
Сам вопрос: Нужен батник с функцией поиска по маске ***god***.pf, ***god***.exe и удаления найденных файлов на перечисленных тачках в самом батнике: net_1, net_2, net_3, net_4...
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2013, 03:02
Ответы с готовыми решениями:

Удаление файлов в директории по маске
итак сдрасте....поискал в инете так и не нашёл.заранее благодарен :).у меня есть список вот string fileList = new string {...

Удаление файлов внутри директории по маске
удаление файлов зная директорию и не точную названию... Например@unlink($this->root_dir . '/engine/cache/dt_jdud3y8d6r2n7ud.tmp'); этот...

Поиск файлов в директории по маске и непонимание кодировки
Здравствуйте, мне нужно написать программу, которая бы по маске, которая является аргументом, вывести соответствующие файлы. У меня почему...

16
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
13.02.2013, 03:15
Цитата Сообщение от unkn0wn Посмотреть сообщение
net_1, net_2, net_3, net_4...
что это? - имена компов?

Цитата Сообщение от unkn0wn Посмотреть сообщение
***god***.pf, ***god***.exe
Что понимать под тремя звездами?

Поиск без подкаталогов?
0
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 17
13.02.2013, 04:13  [ТС]
По первой цитате -да, это имена компов.

Поиск выполнять только в одном каталоге admin$ в перечисленных тачках. Просто файлы имеют имена типа :1god123123.pf или 231god92.exe. под тремя звёздами имел ввиду динамические части имени
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
20.02.2013, 22:00
Попробуйте. Запускать с повышенными правами.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@echo off
Setlocal EnableDelayedExpansion
 
::Введите учетные данные серверов
set serv1=net_1
set user1=guest
set pass1=guest
 
set serv2=net_2
set user2=guest
set pass2=guest
 
set serv3=net_3
set user3=guest
set pass3=guest
 
::и так далее
 
::укажите свободный диск
set virtual=y:
 
for /L %%C in (1,1,20) do (
  if Defined serv%%C (
    net use %virtual% /delete
    >nul ipconfig /renew
    net use %virtual% \\!serv%%C!\Admin$ "!pass%%C!" /USER:"!user%%C!" /persistent:no
    del /f /q "*god*.pf", "*god*.exe"
  )
)
net use %virtual% /delete
1
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 17
21.02.2013, 12:19  [ТС]
Спасибо большое. Буду на работе -попробую скрипт.

Добавлено через 27 минут
Не удалось найти сетевое подключение.

Для вызова дополнительной справки наберите NET HELPMSG 2250.

Команда выполнена успешно.

Не удается найти C:\Users\unk\Desktop\*god*.pf
В подключения к t: имеются открытые файлы и/или незавершенные операции поиска в
каталогах.

Продолжить отключение и закрыть? (Y-да/N-нет) [N]:

t: успешно удален.
Поиск почему-то выполняет не в созданном диске, на удалённой тачке все файлы на месте. Может это из-за того что у меня Вин8 ?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
21.02.2013, 13:23
исправьте строку № 27 так:
Bash
1
del /f /q "%virtual%\*god*.pf", "%virtual%\*god*.exe"
Строки 24,30 попробуйте подправить так:
Bash
1
Echo Y|net use %virtual% /delete
0
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 17
21.02.2013, 16:11  [ТС]
Не удалось найти сетевое подключение.

Для вызова дополнительной справки наберите NET HELPMSG 2250.

Команда выполнена успешно.

Не удается найти t:\*god*.pf
В подключения к t: имеются открытые файлы и/или незавершенные операции поиска в
каталогах.

Продолжить отключение и закрыть? (Y-да/N-нет) [N]:
Не был получен допустимый отклик.
Для продолжения нажмите любую клавишу . . .
После выполнения диск не удаляется -диск подключает нужный, т.е. удалённой тачки, файлы не удаляет.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
21.02.2013, 16:20
А вручную, если зайти на этот диск - удаляет? Может недостаточно прав для указанного пользователя.

Добавлено через 5 минут
А если попробовать флаг принудительно (/Y) и поставить небольшую задержку:

Bash
1
2
>nul ping 127.1 -n 1
net use %virtual% /delete /Y
0
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 17
21.02.2013, 16:54  [ТС]
В ручную всё работает, у нас все тачки в домене, да и пользователь админ из под неё мы устанавливаем, удаляем...
Не удалось найти сетевое подключение.

Для вызова дополнительной справки наберите NET HELPMSG 2250.

Команда выполнена успешно.

Не удается найти t:\*god*.pf
В подключения к t: имеются открытые файлы и/или незавершенные операции поиска в
каталогах.

t: успешно удален.

Для продолжения нажмите любую клавишу . . .


в 24,30 строки вставил ваш код. Собственно сейчас диск удаляется нормально, но опять не хочет файлы искать.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
21.02.2013, 17:15
1) Такс. То есть вручную заходите на этот диск и удаляет нормально?
2) Какая версия ОС?
3) Для ver > XP, 2003 требуется запуск не просто с правами администратора, а с повышенными правами так или так.

Давайте эксперимент (ну нет у меня на чем проверить).

Берем конкретное существующее имя файла (например, god1.pf)
Монтируем удаленный ресурс на t:
Вводим в консоли команды:
Bash
1
2
attrib -R -S -H t:\god1.pf
del /f /q t:\god1.pf
4) Что с файлом?
0
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 17
21.02.2013, 17:43  [ТС]
Всё удаляется. Атрибуты не присваиваются (смотрел через свойства файла, да и файл не становится прозрачным) Пробовал с повышенными правами и без.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
21.02.2013, 17:48
Это был ответ на какой из вопросов?
0
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 17
21.02.2013, 18:06  [ТС]
1) Всё удаляется.
2) На машине с которой запускаю Win 8, на машине которой хочу выполнить Win Xp SP3 + sp4
3) Только что попробовал запустить...
4) Удаление файла

Установил диск(удалённая тачка net_1), и создал в нём файл god1.pf. Те две строчки которые вы написали для проверки: Не присваивают атрибут, но удаление проходит нормально. Что с повышенными правами, что без.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
21.02.2013, 18:27
Дык, проблема получается решена. Осталось допилить основной код.

Цитата Сообщение от unkn0wn Посмотреть сообщение
Не присваивают атрибут
и не должна. Она наоборот их снимает.

Добавлено через 6 минут
Уж не знаю, что именно там не проходит. Неужели маска.
Сделал удаление по-файлово со снятием атрибутов.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@echo off
Setlocal EnableDelayedExpansion
 
::Введите учетные данные серверов
set serv1=net_1
set user1=guest
set pass1=guest
 
set serv2=net_2
set user2=guest
set pass2=guest
 
set serv3=net_3
set user3=guest
set pass3=guest
 
::и так далее
 
::укажите свободный диск
set virtual=y:
 
for /L %%C in (1,1,20) do (
  if Defined serv%%C (
    >nul ping 127.1 -n 1
    net use %virtual% /delete /Y 2>nul
    >nul ipconfig /renew
    net use %virtual% \\!serv%%C!\Admin$ "!pass%%C!" /USER:"!user%%C!" /persistent:no
    call :delfiles "*god*.pf"
    call :delfiles "*god*.exe"
  )
)
net use %virtual% /delete /Y
pause
goto :eof
 
:delfiles
for /f "delims=" %%a in ('dir /b /a-d "%virtual%\%~1"') do (
  attrib -R -S -H "%virtual%\%%a"
  del /f /q "%virtual%\%%a"
)
exit /b
1
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 17
21.02.2013, 18:57  [ТС]
Команда выполнена успешно.

Файл не найден
Файл не найден
t: успешно удален.

Для продолжения нажмите любую клавишу . . .
Я не очень хорошо понимаю как скрипт работает, но он ведь работает по принципу поиска файлов виндос, ведь поэтому вы подключаете диск? Просто тот хлам о котором я говорил находится не в корне admin$ а в подкаталогах: admin$\1 и admin$\2. Наверное в этом и есть проблема я неправильно в первом посте выразился, нужно было указать о каком типе поиска в папке admin$ я говорил...
Данная версия скрипта работает, удаляет в корне каталога файлы по маске, но не в подкаталогах.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
21.02.2013, 19:59
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Оооо, ну это очень большая разница.
Представьте, что я без Вашей просьбы написал бы скрипт, который поудаляет неизвестно чего.
Итак, поиск и удаление файлов по маске рекурсивно с подкаталогами:

в последнем коде заменить подпрограмму :delfiles таким вариантом:

Bash
1
2
3
4
5
6
:delfiles
for /f "delims=" %%a in ('dir /b /s /a-d "%virtual%\%~1"') do (
  attrib -R -S -H "%%a"
  del /f /q "%%a"
)
exit /b
1
1 / 1 / 0
Регистрация: 13.02.2013
Сообщений: 17
21.02.2013, 21:50  [ТС]
Спасибо вам большое за ваш труд, Вы очень помогли!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.02.2013, 21:50
Помогаю со студенческими работами здесь

Поиск и удаление файлов по маске
Помогите пожалуйста. Задача такая: найти файлы по маске (в каталоге, в котором лежит bat-файл), удалить их и вывести сообщение типа...

Поиск и удаление файлов по маске
Доброго времени суток! Поймал вирус, удалил его, но остались следы : в каждой папке и подпапках лежат копии вируса (a.exe) , и мои файлы,...

Получение имен файлов в директории по заданной маске
Можно ли это сделать налету с FileSystemObject, если, например, надо вывести все файлы в заданном каталоге которые начинаются на 'text_' и...

Копирование файлов по маске из заданной ранее директории переменной
Здраствуйте . Я начинающий. Создал код , при выполнении которого , при выборе в диалоговом окне папки, она тут же копируется в...

Список всех файлов и папок указанной директории по заданной маске
Здравствуйте! Требуется написать программу, используя FileNameFilter которая выведет на экран список всех файлов и папок указанной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru