mat.86
  - Longevity: 8 years 9 months
- Posts: 225
- REPUTATION:1[+] [-]
|
nikzzzz, да, так получилось. Теперь бы сделать, чтобы выскакивало диалоговое окно для указания папки реестра, ведь он может быть и не на диске С и облагородить вывод информации, было б хорошо чтобы батник выдавал запрос куда сохранить text.txtНе сработало
|
nikzzzz
  - Longevity: 10 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
mat.86 Вообще-то Findstr использовать неправильно, будет куча мусора, лучще просто читать нужное средствами reg.exefor /f "usebackq tokens=8 delims=\" %%A in (`reg query "HKLM\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces" /se #`) do call :PROCESS "%%A" goto :EOF :PROCESS For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "IPAddress"`) Do Echo %%J>>text.txt For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "SubnetMask"`) Do Echo %%J>>text.txt For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "DefaultGateway"`) Do Echo %%J>>text.txt echo ->>text.txt echo ----------------------------------------------->>text.txt echo ->>text.txt echo ->>text.txt goto :EOF
|
mat.86
  - Longevity: 8 years 9 months
- Posts: 225
- REPUTATION:1[+] [-]
|
Да так лучше, почти чистый получается, но выводит такие строки: Режим вывода команд на экран (ECHO) включен.- ----------------------------------------------- - - - ----------------------------------------------- - - Режим вывода команд на экран (ECHO) включен. Режим вывода команд на экран (ECHO) включен. - ----------------------------------------------- - - 10.107.23.36 255.255.255.0 10.107.23.1 - ----------------------------------------------- - - Режим вывода команд на экран (ECHO) включен. 255.255.255.0 Режим вывода команд на экран (ECHO) включен. - ----------------------------------------------- - - - ----------------------------------------------- - - - ----------------------------------------------- - - - -----------------------------------------------
|
mat.86
  - Longevity: 8 years 9 months
- Posts: 225
- REPUTATION:1[+] [-]
|
Я сделал такreg load hklm\tmp-system d:\1\system for /f "usebackq tokens=8 delims=\" %%A in (`reg query "HKLM\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces" /se #`) do call :PROCESS "%%A" goto :EOF :PROCESS For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "IPAddress"`) Do Echo %%J>>text.txt For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "SubnetMask"`) Do Echo %%J>>text.txt For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "DefaultGateway"`) Do Echo %%J>>text.txt echo ->>text.txt echo ----------------------------------------------->>text.txt echo ->>text.txt echo ->>text.txt goto :EOF TIMEOUT /T 10 /NOBREAK reg unload hklm\tmp-system Но командаTIMEOUT /T 10 /NOBREAK reg unload hklm\tmp-system почему то уже не срабатывает
|
nikzzzz
  - Longevity: 10 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
mat.86,68995Да так лучше, почти чистый получается, но выводит такие строки: Режим вывода команд на экран (ECHO) включен. Чтобы не выводился, после echo нужен не пробел, а например ; И лучше перенаправление делать в начале, иначе последний символ %%J, если он является цифрой может быть некорректно воспринят как номер канала, хотя к данному примеру это не относится.For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "IPAddress"`) Do >>text.txt Echo;%%J
|
nikzzzz
  - Longevity: 10 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
mat.86,68998почему то уже не срабатывает Так надо щупать ветку реестра tmp-systemfor /f "usebackq tokens=8 delims=\" %%A in (`reg query "HKLM\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces" /se #`) do call :PROCESS "%%A"
|
 Отправлено: 27-Jul-2019 00:42
(after 2 hours 53 minutes)
mat.86
  - Longevity: 8 years 9 months
- Posts: 225
- REPUTATION:1[+] [-]
|
69000mat.86, 68998почему то уже не срабатывает Так надо щупать ветку реестра tmp-system for /f "usebackq tokens=8 delims=\" %%A in (`reg query "HKLM\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces" /se #`) do call :PROCESS "%%A" Получилось так:reg load hklm\tmp-system d:\1\system for /f "usebackq tokens=8 delims=\" %%A in (`reg query "HKLM\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces" /se #`) do call :PROCESS "%%A" TIMEOUT /T 5 /NOBREAK reg unload hklm\tmp-system goto :EOF :PROCESS For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "IPAddress"`) Do >>text.txt Echo;%%J For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "SubnetMask"`) Do >>text.txt Echo;%%J For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "DefaultGateway"`) Do >>text.txt Echo;%%J echo ->>text.txt echo ----------------------------------------------->>text.txt echo ->>text.txt echo ->>text.txt goto :EOF Так отключение работает Как можно сделать чтобы text.txt спрашивало куда сохранить?
|
 Отправлено: 27-Jul-2019 02:28
(after 1 hour 46 minutes)
nikzzzz
  - Longevity: 10 years
- Posts: 3114
- REPUTATION:127[+] [-]
|
69009Как можно сделать чтобы text.txt спрашивало куда сохранить? set /p "FileName=Путь к лог файлу : " echo;%FileName%
|
mat.86
  - Longevity: 8 years 9 months
- Posts: 225
- REPUTATION:1[+] [-]
|
попробовал так, ничего не происходитreg load hklm\tmp-system d:\1\system For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\tmp-system\ControlSet001\Control\ComputerName\ComputerName"^|Find /I "ComputerName"`) Do >>text.txt Echo;%%J for /f "usebackq tokens=8 delims=\" %%A in (`reg query "HKLM\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces" /se #`) do call :PROCESS "%%A" TIMEOUT /T 5 /NOBREAK reg unload hklm\tmp-system set /p "FileName=d:\1\text.txt" echo;%FileName% goto :EOF :PROCESS For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "IPAddress"`) Do >>text.txt Echo;%%J For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "SubnetMask"`) Do >>text.txt Echo;%%J For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "DefaultGateway"`) Do >>text.txt Echo;%%J For /F "UseBackQ Tokens=2*" %%I In (`Reg Query "HKEY_LOCAL_MACHINE\tmp-system\ControlSet001\services\Tcpip\Parameters\Interfaces\%~1" /v "NameServer"`) Do >>text.txt Echo;%%J echo I>>text.txt echo ----------------------------------------------->>text.txt echo I>>text.txt goto :EOF
|
mat.86
  - Longevity: 8 years 9 months
- Posts: 225
- REPUTATION:1[+] [-]
|
Вот открытие файла system написал так, вроде сработало@prompt $ @echo on FileToOpen "set fname=" "%userprofile%\Downloads\*" "Select source file" /multiselect> %temp%\temp.cmd @echo off echo. echo Errorlevel: %errorlevel% if errorlevel 1 goto :end call %temp%\temp.cmd echo. echo Fname=%fname% echo. :end pause reg load hklm\tmp-system %fname% А вот с сохранением не могу разобраться
|
mat.86
  - Longevity: 8 years 9 months
- Posts: 225
- REPUTATION:1[+] [-]
|
FileToSave не работает, Blah.txt почему то не создается@prompt $ @echo on FileToSave "set fname=" ".\*.txt" "Select target file" "Blah.txt" /overwritePrompt > %temp%\temp.cmd @echo off echo. echo Errorlevel: %errorlevel% if errorlevel 1 goto :end
|
Ander_73
  - Longevity: 8 years 2 months
- Posts: 3983
- REPUTATION:127[+] [-]
|
mat.86, в Вашем примере переменная fname (после выполнения батника temp.cmd) будет содержать имя файла (по-умолчанию это Blah.txt). Сама утилита FileToSave.exe ничего не создаёт. Учитесь нормально и вдумчиво "читать" примеры.
|
mat.86
  - Longevity: 8 years 9 months
- Posts: 225
- REPUTATION:1[+] [-]
|
Мне нужно взять готовый текстовый файл на диске D и пересохранить его в нужное место через диалоговое окно, можете привести пример
|
mat.86
  - Longevity: 8 years 9 months
- Posts: 225
- REPUTATION:1[+] [-]
|
Ander_73, спасибо за помощь
|
Page 2 of 5
Current time is: 21-Apr 18:50
All times are UTC + 3
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|