Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Поиск файлов по маске на удаленных машинах по словарю с выгрузкой в *.txt (http://forum.oszone.net/showthread.php?t=273624)

gremlintv2 09-12-2013 00:39 2269163

Поиск файлов по маске на удаленных машинах по словарю с выгрузкой в *.txt
 
Итак что я имею:
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 2269166

Не проще ли:
Код:

wmic.exe /node:@NodeList.txt DataFile where "Extension='mp3' OR Extension='avi' " get Name
?

gremlintv2 09-12-2013 02:59 2269175

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

gremlintv2 09-12-2013 04:46 2269183

Пробую дальше над батником извращаться но что-то не так делаю однозначно.. Нужно переменную задать и брать ее из файла 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 черт его знает сколько.. И еще: как мне получить мне вместо имени файла


Время: 16:18.

Время: 16:18.
© OSzone.net 2001-