Return 用户从远程网络驱动器映射驱动器号
Return users mapped drive letter from network drive remote
我正在尝试找到一种方法来从网络驱动器中检索用户映射的驱动器号。我在这里阅读了几篇文章,但它们似乎都围绕 mapping/unmapping 个驱动器,而我只需要知道用户将该网络驱动器映射到哪个驱动器。
我在命令提示符下使用:
净使用:
例如会给我网络驱动器的名称 (\servershare\file\sharename\shared),但是
Net Use \servershare\file\sharename\shared
只给"The command completed successfully",我需要'S:'返回。
如何获取特定网络驱动器返回的驱动器盘符?
像这样的批处理文件可以工作:
@FOR /F "tokens=2" %%D IN ('net use ^| find ":" ^| find /I "\SERVER\SHARE"') DO @ECHO Drive letter is %%D
备注:
- 将
ECHO Drive letter is %%D
替换为已知驱动器盘符后所需的任何代码,可能是被 (
和 )
包围的多行代码块。将 \SERVER\SHARE
替换为您要查找的共享。
- 如果没有驱动器映射到共享,
DO
之后的语句永远不会执行。如果有多个驱动器映射到共享,它将为每个驱动器执行一次。
- 如果您确定没有任何驱动器盘符(例如,使用
net use \SERVER\SHARE
而不是 net use S: \SERVER\SHARE
创建的连接,则可以跳过第一个 ^| find ":"
管道或net use * \SERVER\SHARE
).
- 如果您确定不会有任何使用不同字符大小写的共享连接,您可以跳过
/I
开关。
- 两个
@
字符阻止命令在控制台上回显。另一种方法是以 @ECHO OFF'
. 开始批处理文件
- 如果您 运行 这是直接在命令行而不是从批处理文件中,请将两个
%%D
替换为 %D
。
我正在尝试找到一种方法来从网络驱动器中检索用户映射的驱动器号。我在这里阅读了几篇文章,但它们似乎都围绕 mapping/unmapping 个驱动器,而我只需要知道用户将该网络驱动器映射到哪个驱动器。
我在命令提示符下使用: 净使用: 例如会给我网络驱动器的名称 (\servershare\file\sharename\shared),但是
Net Use \servershare\file\sharename\shared
只给"The command completed successfully",我需要'S:'返回。
如何获取特定网络驱动器返回的驱动器盘符?
像这样的批处理文件可以工作:
@FOR /F "tokens=2" %%D IN ('net use ^| find ":" ^| find /I "\SERVER\SHARE"') DO @ECHO Drive letter is %%D
备注:
- 将
ECHO Drive letter is %%D
替换为已知驱动器盘符后所需的任何代码,可能是被(
和)
包围的多行代码块。将\SERVER\SHARE
替换为您要查找的共享。 - 如果没有驱动器映射到共享,
DO
之后的语句永远不会执行。如果有多个驱动器映射到共享,它将为每个驱动器执行一次。 - 如果您确定没有任何驱动器盘符(例如,使用
net use \SERVER\SHARE
而不是net use S: \SERVER\SHARE
创建的连接,则可以跳过第一个^| find ":"
管道或net use * \SERVER\SHARE
). - 如果您确定不会有任何使用不同字符大小写的共享连接,您可以跳过
/I
开关。 - 两个
@
字符阻止命令在控制台上回显。另一种方法是以@ECHO OFF'
. 开始批处理文件
- 如果您 运行 这是直接在命令行而不是从批处理文件中,请将两个
%%D
替换为%D
。