我搜索了很多地方,似乎无法找到解决问题的方法。我有一个包含以下行的.bat文件:
rasdial" TEST VPN"用户名密码
我想只将用户名和密码复制到新的文本文件中,以便它只有:
用户名密码
我在搜索过程中找到的所有内容都恰恰相反,请留下:
rasdial" TEST VPN"
任何帮助将不胜感激。我很确定这很容易,但我无法自行解决。
提前致谢!
这是我目前所拥有的:
@echo off
setlocal disableDelayedExpansion
set "ln1="
>"%USERPROFILE%\Desktop\credentials.txt" (
for /f "useback delims=" %%A in ("%USERPROFILE%\AppData\Roaming\Project Resources Group\PRG Connect\AutoKeepVPNAlive.bat") do (
if defined ln1 (
set "ln2=%%A"
setlocal enableDelayedExpansion
echo(!ln1!
endlocal
set "ln1="
)
for /f %%B in ("%%A") do if "%%B"=="rasdial" set "ln1=%%A"~18%
)
)
AutoKeepAliveVPN.bat的内容是:
TITLE TEST Connect
@ECHO OFF
:loop
cls
set ip3=10.12.0.254
ping -n 1 %ip3% | find "Reply from %ip3%: bytes="
if %ERRORLEVEL%==0 (
goto loop2
) else (
goto connect
)
:loop2
cls
timeout 30
set ip1=google.com
ping -n 1 %ip1% | find "Lost = 0"
if not %ERRORLEVEL%==0 (
goto loop2
) else (
goto loop
)
:connect
cls
rasdial "TEST VPN" username password
if %ERRORLEVEL%==623 (
goto setup
) else (
net use P: "\\10.12.0.254\share"
goto loop
)
:setup
cls
CALL "%USERPROFILE%\AppData\Roaming\Project Resources Group\PRG Connect\VPN Setup.bat"
exit
答案 0 :(得分:1)
这是一种更简单的方法来完成你需要做的事情。
@echo off
for /f "delims=" %%G in ('findstr /B /I /C:"rasdial" "%USERPROFILE%\AppData\Roaming\Project Resources Group\PRG Connect\AutoKeepVPNAlive.bat"') do SET var=%%G
(echo %var:~18%)>>"%USERPROFILE%\Desktop\credentials.txt"