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

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

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

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

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

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

答案1

也许可以试试pushd \\server\share

答案2

我必须先启动 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

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

答案3

创建一个批处理文件(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
          )
     )
 )

答案4

我知道您说“net use”对您不起作用 - 但您可以尝试以下方法。

运行带有 net use /DELETE 选项的批处理文件以删除现有/持久连接,然后您可以使用带有 /SAVECRED 选项的 net use 重新使用上次成功登录时使用的密码凭据。我不确定这是否能解决您的问题,但值得研究一下。

相关内容