我目前正在编写一个应该将网络驱动器映射到字母Z
的脚本,我正在使用该命令
net use z: \\path
,问题是,如果用户已经使用了这封信,我将无法映射它,有没有办法检查此驱动器的存在性(z)以及是否存在要卸载它并将其挂载到另一个字母,仍然使用我的脚本所需的z
驱动器,这是安装的一部分,它应该在Z驱动器上。
答案 0 :(得分:31)
您可以IF EXIST Z:\
检查驱动器是否已装入。这应该有效:
if exist z:\ (
net use z: /delete
)
net use z: \\path
答案 1 :(得分:4)
另一种可能的方式是:
net use Z:
if %errorlevel% EQU 0 net use Z: /delete
net use Z: \\path
答案 2 :(得分:3)
我使用以下scriptbit取消映射所有驱动器:
:: First unmap all network drives
FOR /F "tokens=1,2,3" %%G IN ('net use^| Find "\\"') DO (
ECHO.Unmapping %%I from drive letter %%H
NET USE %%H /D > NUL
)
它做什么?让我们分开吧
FOR / F"令牌= 1,2,3" %% G IN()DO() - >迭代在()和第一个,第二个和第三个单词之间定义的集合(任何空格用作分隔符)将分别作为%% G,%% H和%% I使用。
(' ...')将运行命令...并将结果传递给FOR循环
net use将输出如下内容:
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
OK M: \\diskstation\music Microsoft Windows Network
OK P: \\diskstation\home Microsoft Windows Network
OK V: \\diskstation\video Microsoft Windows Network
OK X: \\diskstation\photo Microsoft Windows Network
The command completed successfully.
然后将此输出传送到Find.exe(相当于grep的窗口),查找" \\"。
管道符号|使用^进行转义,因此cmd不会直接执行它。输出将是:
OK M: \\diskstation\music Microsoft Windows Network
OK P: \\diskstation\home Microsoft Windows Network
OK V: \\diskstation\video Microsoft Windows Network
OK X: \\diskstation\photo Microsoft Windows Network
NET USE / D将删除所选映射的驱动器映射
答案 3 :(得分:2)
我的要求与OP的要求略有不同:我需要将网络驱动器映射到始终相同的路径,但前提是该路径不存在
if not exist z:\ (
net use z: \\ComputerName\ShareName
)
答案 4 :(得分:0)
要回答原始问题,您可以检查Z是否已经映射,然后将其重新映射到不同的驱动器号(例如y :),然后将z映射到新路径。
if exist z:\ (
for /F "tokens=1,2*" %%G in ('net use^|Find "\\"^|Find /I "z:"') do ( net use y: %%H )
net use z: /delete
)
net use z: \\path
答案 5 :(得分:0)
您可以批量编写如下代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="left_menu">
<li><a id="tab_wireless" href="#">System Status</a></li>
<li><a id="tab_system" href="#">Network Configuration</a></li>
<li><a id="radio_list" href="#">Radio List</a></li>
<li><a id="search" href="#">Search</a></li>
</ul>
如果存在@echo off
net use V: >nul 2>&1
if %errorlevel% equ 0 goto unmap
在Windows 10上不起作用,并且V:\
还会显示其他信息,我现在使用net use
取消了它。