mulrus
08-04-2015, 13:35
Есть задача. Надо с компов в сети собрать инфу по установленной версии одной проги на каждом.
Надыбал один скрипт:
@echo off
setlocal enableextensions enabledelayedexpansion
>"D:\1.txt" (
>nul chcp 1251
for /f "usebackq delims=" %%i in (
`reg.exe query "\\192.168.56.1\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Mo yaProga"`
) do for /f "usebackq tokens=3*" %%j in (
`reg.exe query "%%~i" /v "DisplayVersion" 2^>nul ^| find.exe /i "DisplayVersion"`
) do echo %%~j %%k|findstr.exe /i /v /r /c:"^Microsoft Visual C++ .* False$"
>nul chcp 866
)
endlocal
exit /b 0
В результате появляется файлик 1.txt c нужным мне значением, НО
1. Как сделать так, чтобы просто в какую нибудь переменную вбить через проблем IP-адреса компов по которым будет прогоняться скрипт?
2. Ну и получить результат в файл списком видка
192.168.56.1 - [Значение]
192.168.56.2 - [Значение]
.....и.т.д.
Надыбал один скрипт:
@echo off
setlocal enableextensions enabledelayedexpansion
>"D:\1.txt" (
>nul chcp 1251
for /f "usebackq delims=" %%i in (
`reg.exe query "\\192.168.56.1\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Mo yaProga"`
) do for /f "usebackq tokens=3*" %%j in (
`reg.exe query "%%~i" /v "DisplayVersion" 2^>nul ^| find.exe /i "DisplayVersion"`
) do echo %%~j %%k|findstr.exe /i /v /r /c:"^Microsoft Visual C++ .* False$"
>nul chcp 866
)
endlocal
exit /b 0
В результате появляется файлик 1.txt c нужным мне значением, НО
1. Как сделать так, чтобы просто в какую нибудь переменную вбить через проблем IP-адреса компов по которым будет прогоняться скрипт?
2. Ну и получить результат в файл списком видка
192.168.56.1 - [Значение]
192.168.56.2 - [Значение]
.....и.т.д.