可以从命令行重新连接映射的网络驱动器吗?

Ste*_*ngs 34 windows batch network-shares command-line

每天,我发现自己在 Windows 命令提示符下需要访问已映射但已断开连接的网络驱动器。我还没有找到一个无需取消映射和重新映射即可重新连接此驱动器的命令(这会导致密码猜测游戏,因为我没有这些计算机)。我还希望能够编写此脚本,因此如果驱动器以某种方式断开连接,则每天晚上都会重新连接驱动器。

我目前最快的解决方案是:

  1. 输入“ start.”打开资源管理器,
  2. Alt-D聚焦地址栏,
  3. 输入我想要的驱动器号并按回车键,然后等待它显示驱动器内容,
  4. 最后,关闭资源管理器并返回命令提示符。

我知道这是一个小小的不便,但我经常通过缓慢的 VNC 或 PCAnywhere 连接来执行此操作,而通过 GUI 执行任何操作都很糟糕,所以我只是想知道是否有更好的解决方案。

wfa*_*ulk 14

也许试试pushd \\server\share

  • 我不确定这是我需要的。Pushd 看起来像是创建了临时驱动器号;我已经映射了一个驱动器号,但共享已断开连接(它在资源管理器中有一个红色的 X,并标记为“断开的网络驱动器”)。也许我错了。 (2认同)
  • 我试过这个,它确实有效。我首先运行 pushd 到共享然后 popd 取消映射额外的驱动器号,我发现我想要的映射驱动器再次连接。这绝对是一个赞成票,如果我在几天内没有得到更短的答案,这将被接受。 (2认同)
  • 我还没有投票能力,但这个答案对我没有任何作用。请参阅下面的几篇文章,看看哪些是这样做的。我也在那里发表了评论。 (2认同)

小智 8

我必须先启动 Windows 7,然后才能运行将我连接到公司网络驱动器的 VPN 程序。因此我的网络驱动器不会自动重新连接,只有在 Windows 资源管理器中打开它们才能重新连接它们。

我制作了一个小批处理文件来启动 VPN,重新连接网络驱动器,并启动一些我经常使用的应用程序。

在我的批处理文件中,我有以下内容:

REM Connect VPN here...

REM Opens an Explorer window looking at T: forcing a reconnect
Start /min explorer t:\

timeout 3 /nobreak

REM Kill all Explorer windows beginning with "T_drive" in the title
Taskkill /fi "windowtitle eq T_drive*"

REM Finish starting up here...

exit
Run Code Online (Sandbox Code Playgroud)

Taskkill /fi "windowtitle eq"命令是区分大小写的!


Bri*_*ian 7

创建一个包含这些命令的批处理文件 (refreshletters.cmd)

这些只能在批处理文件中工作

在 Win7 和 XP 上测试以刷新控制台窗口(命令行)中的“断开连接”和“不可用”驱动程序字母。

@echo off
net use |FIND ":" > %temp%\used.txt
FOR /F " tokens=1,2,3 delims= " %%i in (%temp%\used.txt) do (

  if %%i EQU Unavailable  (
    net use %%j %%k
    echo Activated %%j
   ) ELSE (
     if %%i EQU Disconnected (
       pushd .
       cd /d %%j
       dir . %>nul
       if NOT exist %%j\. (
          net use %%j /del /y
          net use %%j %%k
          echo Remapped %%j
          ) else (
             echo Fixed-up %%j
            )
       popd
       ) ELSE (
          echo Checked %%j
          )
     )
 )
Run Code Online (Sandbox Code Playgroud)


wfa*_*ulk 6

这可能是一个愚蠢的问题,但假设您“断开连接”的驱动器是 H:,您是否尝试过直接更改驱动器?

它在 XPSP3 下对我有用:

C:\>net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
Disconnected H:        \\xxxxxx\wfaulk           Microsoft Windows Network
OK                     \\xxxxxxx\business        Microsoft Windows Network
The command completed successfully.


C:\>h:

H:\>net use
New connections will be remembered.


Status       Local     Remote                    Network

-------------------------------------------------------------------------------
OK           H:        \\xxxxxx\wfaulk           Microsoft Windows Network
OK                     \\xxxxxxx\business        Microsoft Windows Network
The command completed successfully.
Run Code Online (Sandbox Code Playgroud)

  • 命令提示符不允许您切换到当前断开连接的网络驱动器。至少不是在我使用它的数百台计算机上(WinNT、Win2k、WinXP、WinXP Embedded)。 (2认同)