每天,我都会在 Windows 命令提示符中发现需要访问已映射但断开连接的网络驱动器。我还没有找到一个命令可以重新连接此驱动器,而无需取消映射和重新映射(这会导致密码猜测游戏,因为我不拥有这些计算机)。我还希望能够编写脚本,以便每晚如果驱动器以某种方式断开连接,都会重新连接。
我目前最快的解决方案是:
- 输入“
start.
”打开资源管理器, - Alt-D聚焦地址栏,
- 输入我想要的驱动器号并按回车键,然后等待它显示驱动器内容,
- 最后,关闭资源管理器并返回命令提示符。
我知道这只是一个小小的不便,但我经常通过缓慢的 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 重新使用上次成功登录时使用的密码凭据。我不确定这是否能解决您的问题,但值得研究一下。