Войти

Показать полную графическую версию : Поиск файлов по маске на удаленных машинах по словарю с выгрузкой в *.txt


gremlintv2
09-12-2013, 00:39
Итак что я имею:
poisk.bat - выполняет тот самый поиск
slovar.txt - словарь в котором находится поименный список всех компов сети:
"KOMP1
KOMP2
..........
KOMPn"
Есть готовый батник поиска по маске:
Echo Off

Set FDir1="C:\"
Set FDir1="C:\"
Set FDir5="C:\Users\"
Set FDir="D:\"
Set FDir2="E:\"
Set FDir4="G:\"

FOR /R %FDir% %%i IN (*.mp3 *.avi *.exe *.iso) DO Call :Obrabotka "%%i"
FOR /R %FDir1% %%j IN (*.mp3 *.avi) DO Call :Obrabotka "%%j"
FOR /R %FDir2% %%s IN (*.mp3 *.avi *.exe *.iso) DO Call :Obrabotka "%%s"
FOR /R %FDir4% %%h IN (*.mp3 *.avi *.exe *.iso) DO Call :Obrabotka "%%h"
FOR /R %FDir5% %%q IN (*.exe *.iso) DO Call :Obrabotka "%%q"
GoTo :EOF

:Obrabotka
Echo %1>>%COMPUTERNAME%.txt

Мне нужно чтобы из файла slovar.txt подставлялись значения вот в эти строки:
"Set FDir1="\\KOMP1\C:\"
Set FDir1="\\KOMP1\C:\"
Set FDir5="\\KOMP1\C:\Users\"
Set FDir="\\KOMP1\D:\"
Set FDir2="\\KOMP1\E:\"
Set FDir4="\\KOMP1\G:\"
"
Вот как то так только чтоб значения из словаря подбирались =)
Догадываюсь что это очень просто, но что-то мозг отказывается работать, помогите товарищи - люди добрые =)

Iska
09-12-2013, 01:16
Не проще ли:
wmic.exe /node:@NodeList.txt DataFile where "Extension='mp3' OR Extension='avi' …" get Name
?

gremlintv2
09-12-2013, 02:59
Спасибо за столь ценный совет, если бы я его еще умел использовать этот - wmic.exe и более менее знал что куда подставлять как в отдельный файл информацию вывести так чтобы она "окультурено выглядела". Как отдельно диски прописать чтоб на одном диске искало екзешники, а на другом нет. Было бы время я бы изучил это приложение поближе, но так как его нет хотелось бы получить ответ насколько это возможно.

gremlintv2
09-12-2013, 04:46
Пробую дальше над батником извращаться но что-то не так делаю однозначно.. Нужно переменную задать и брать ее из файла slovar.txt
@Echo Off
For /F "delims=" %%L In (slovar.txt) Do Call :Obrabotka "%%L"
Set FDir1="C:\%%L"
Set FDir1="C:\%%L"
Set FDir5="C:\Users\%%L"
Set FDir="D:\%%L"
Set FDir2="E:\%%L"
Set FDir4="G:\%%L"

FOR /R %FDir% %%i IN (*.mp3 *.avi *.exe *.iso) DO Call :Obrabotka "%%i"
FOR /R %FDir1% %%j IN (*.mp3 *.avi) DO Call :Obrabotka "%%j"
FOR /R %FDir2% %%s IN (*.mp3 *.avi *.exe *.iso) DO Call :Obrabotka "%%s"
FOR /R %FDir4% %%h IN (*.mp3 *.avi *.exe *.iso) DO Call :Obrabotka "%%h"
FOR /R %FDir5% %%q IN (*.exe *.iso) DO Call :Obrabotka "%%q"
GoTo :EOF
:Obrabotka
Echo %1>>%COMPUTERNAME%.txt

ОК. Наверное все таки попытаюсь использовать ваш скрипт. Нужно просто лог экспортировать в csv.. В блокноте как то криво отображается. Вот только беда что делать с *.exe файлами на С диске их только в Program files черт его знает сколько.. И еще: как мне получить мне вместо имени файла




© OSzone.net 2001-2012