如何创建批处理文件以在连接到VPN后映射网络驱动器

时间:2013-12-11 01:30:16

标签: batch-file networking network-drive

创建批处理文件(.bat)的最佳方法是什么,该文件将在建立Internet连接后自动映射网络驱动器。批处理文件将保留在Windows启动文件夹中,并且只会映射网络驱动器(如果尚未映射)。我尝试过以下方法:

:Start
ping -n 1 www.google.com

If %errorlevel% == 0 Goto :Start

If %errorlevel% == 1 Goto :Connected

:Connected

Net Use F:\\ Server\Folder /Persistent:No

ping回复非常快,即使路径正确,Net use命令也不映射驱动器,如果我在CMD窗口中手动输入net use和path,它将起作用。我需要它在ping回复之后等待然后映射网络驱动器,并且它还仅为了映射网络驱动器(如果它们尚未映射)。我意识到我所尝试的并没有解决“如果它们尚未映射,网络驱动的唯一映射”。我做了一些广泛的搜索,我找不到这些问题的答案。将逐步欣赏并轻松遵循解决此问题的说明。

非常感谢。

1 个答案:

答案 0 :(得分:1)

也许额外的“超时”有帮助吗?

更新

我使用的是windows vpn客户端。 为了检查可用的连接我做这样的脚本 等待30秒后再通过ping检查。 我ping我的服务器,只能在vpn下使用。

@echo off
set myserver=192.168..
setlocal enabledelayedexpansion
rasdial FirstVPN /disconnect
rasdial SecondVPN /disconnect

echo ==== second vpn
start rasdial SecondVPN
timeout /T 30
for /f "Tokens=*" %%G in ('ping -n 1 %myserver% ^| FIND "TTL="') do set ans="%%G"
IF NOT [%ans%]==[] GOTO Connected

echo ==== first vpn
start rasdial FirstVPN
timeout /T 30
for /f "Tokens=*" %%G in ('ping -n 1 %myserver% ^| FIND "TTL="') do set ans="%%G"
IF [%ans%]==[] (exit)
:Connected
echo %ans%