脚本 - 如何检查网络路径是否可用,然后映射它

Fer*_*SBS 15 networking windows script login vbscript

我想要一个屏幕保护程序/登录脚本,用于检查网络路径是否可用,然后将其映射到一个单元。如果它不可用,它会断开连接/不连接。

网络路径为\192.168.1.1\drive1

此外,我需要使用用户名/密码连接到该路径。

Geo*_*off 18

您可以使用以下exist命令检查路径是否有效:

if exist \\192.168.1.1\drive1 net use s: \\192.168.1.1\drive1
Run Code Online (Sandbox Code Playgroud)

如果您需要提供凭据(即您当前的 Windows 用户无权访问该共享),请添加/user

if exist \\192.168.1.1\drive1 net use s: \\192.168.1.1\drive1 /user:myDomain\myUser myPassword
Run Code Online (Sandbox Code Playgroud)

如果共享可能已经存在,并且您想在它不再可用时将其删除,请添加一个else子句:

if exist \\192.168.1.1\drive1 (net use s: \\192.168.1.1\drive1) else (net use /delete s:)
Run Code Online (Sandbox Code Playgroud)

再一次,/user如果需要,请添加。

您可以将所有这些组合在一个类似于以下内容的批处理文件中:

@echo off
if exist \\192.168.1.1\drive1 (set shareExists=1) else (set shareExists=0)
if exist y:\ (set driveExists=1) else (set driveExists=0)
if %shareExists%==1 if not %driveExists%==1 (net use y: \\192.168.1.1\drive1)
if %shareExists%==0 if %driveExists%==1 (net use /delete y:)
set driveExists=
set shareExists=
Run Code Online (Sandbox Code Playgroud)


Aus*_*nch 6

Powershell 让这一切变得简单:

If(Test-Path \\192.168.1.1\Drive1)
  {
    net use M: \\192.168.1.1\Drive1 /user:Domain\UserName Password
  }
else {net use M: /delete > nul}
Run Code Online (Sandbox Code Playgroud)


mdp*_*dpc 0

尝试使用 Windows 文件资源管理器或使用 net use 命令来映射它会更简单。要么有效,要么无效。