将 1 个文本文件中的行写入新文本文件,不包括前 18 个字符



我搜索了很多地方,似乎无法提出解决问题的方法。 我有一个包含以下行的.bat文件:

拉斯迪尔"TEST VPN"用户名密码

我只想将用户名和密码复制到一个新的文本文件中,这样它就会有:

用户名密码

我在搜索过程中发现的所有内容都恰恰相反,给我留下了:

rasdial "TEST VPN"

任何帮助将不胜感激。 我很确定这很容易,但我无法自己弄清楚。

提前感谢!

这是我目前拥有的:

@echo off
setlocal disableDelayedExpansion
set "ln1="
>"%USERPROFILE%Desktopcredentials.txt" (
    for /f "useback delims=" %%A in ("%USERPROFILE%AppDataRoamingProject Resources GroupPRG ConnectAutoKeepVPNAlive.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.254share"
    goto loop
)
:setup
cls
CALL "%USERPROFILE%AppDataRoamingProject Resources GroupPRG ConnectVPN Setup.bat"
exit

这是执行所需操作的更简单的方法。

@echo off
for /f "delims=" %%G in ('findstr /B /I /C:"rasdial" "%USERPROFILE%AppDataRoamingProject Resources GroupPRG ConnectAutoKeepVPNAlive.bat"') do SET var=%%G
(echo %var:~18%)>>"%USERPROFILE%Desktopcredentials.txt"

最新更新