【发布时间】:2024-05-21 01:25:02
【问题描述】:
我已经搜索了很多地方,但似乎无法找到解决问题的方法。我有一个包含以下行的 .bat 文件:
rasdial "TEST VPN" 用户名密码
我只想将用户名和密码复制到一个新的文本文件中,这样它就只有:
用户名密码
我在搜索过程中发现的一切都完全相反,让我有:
rasdial“测试 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
【问题讨论】:
-
如果您有一个分配了该字符串的变量,它就是一个简单的子字符串。
echo %var:~18% -
请发布AutoKeepVPNAlive.bat的内容。
-
这是我创建的一个程序,用于让用户连接到我的 vpn 服务器。当我对程序进行更改时,我希望通知用户(我正在工作)并可以选择更新到最新版本。现在,我正在处理最后一部分,这将使他们不必在重新安装完成后再次运行设置以输入凭据。我基本上是在尝试将他们的凭据保存到一个临时文件中,以便在创建新文件后将它们复制回新文件中。
标签: batch-file text copy output