Start/Stop VPN connection automated in a .CMD file

I am pretty proud of this script, as it does what is otherwise a bit fiddly -- and it took some fairly in depth research to come up with a solution that uses only what is provided out of the box with Windows 10. My only issue that remains with it is that I had to include the username & password - I would like to find a way to have it use the existing credentials in the VPN configuration. (Let me know if you have any bright ideas!!)

I used clues from a lot of places to do this, but the clever logic that allows me to do the conditional code step that you see here:

ipconfig | find /i "%VPN_NAME%" && Set "VPN_Connected=Yes" || Set "VPN_Connected=No"

Came from StackOverflow (one of my favourite sites for tech clues):
https://stackoverflow.com/questions/31990775/batch-file-to-connect-and-d...

@echo off
mode 60,5

REM Enables or Disables a VPN Connection called "VPN_Name" in Windows 10
REM Also adds a static route as needed to get to devices beyond the VPN Connection
REM All commands are standard issue in Windows 10

Set "VPN_Name=VPN-L2TP"
Set "VPN_Connected=Unknown"

ipconfig | find /i "%VPN_NAME%" && Set "VPN_Connected=Yes" || Set "VPN_Connected=No"

if "%VPN_Connected%"=="Yes" (
REM echo Scenario 1: "%VPN_Connected%" ((Connected, so let's DisConnect now)
rasdial %VPN_Name% /disconnect >nul 2>nul
echo Successfully Disconnected %VPN_Name%
pause
) else (
REM echo Scenario 2: "%VPN_Connected%" (Not Connected, so let's Connect now)
echo "%VPN_Name%" is not Connected, Connecting now.
rasdial %VPN_Name% username "password" >nul 2>nul
route delete 192.168.0.0 >nul 2>nul
netsh interface ipv4 add route prefix=192.168.0.0/24 interface=%VPN_Name% store=persistent >nul 2>nul
netsh interface ipv4 show interfaces | find /i "%VPN_Name%" 2>nul
pause
)