windows@命令行映射磁盘驱动器若干方法

文章目录

    • windows@映射网络磁盘驱动器
      • 资源管理器中GUI方式创建
      • 命令行方式创建
      • 命令行列出驱动器列表
      • 删除取消映射
      • 持久化配置映射
        • 记住凭证
    • FAQ
      • 登录后自动挂载[以alist webdav 挂载为例]
        • 分析
        • 对策
        • Note
    • 访问已经挂载网络磁盘分区
      • 连接到局域网手机alist webdav
    • 添加一个网络位置
    • 网路驱动器和网络文件夹(位置)区别
    • 小结

windows@映射网络磁盘驱动器

资源管理器中GUI方式创建

  • windows11/windows10文档:在 Windows 中映射网络驱动器 - Microsoft 支持

命令行方式创建

  • Net use | Microsoft Learn

  • How to Use the Net Use Command in Windows (lifewire.com)

  • PS ️20:40:38 [C:\Users\cxxu\Desktop] 100% net use ?
    此命令的语法是:
    
    NET USE
    [devicename | *] [\\computername\sharename[\volume] [password | *]]
            [/USER:[domainname\]username]
            [/USER:[dotted domain name\]username]
            [/USER:[username@dotted domain name]
            [/SMARTCARD]
            [/SAVECRED]
            [/REQUIREINTEGRITY]
            [/REQUIREPRIVACY]
            [/WRITETHROUGH]
            [/TRANSPORT:{TCP | QUIC} [/SKIPCERTCHECK]]
            [/REQUESTCOMPRESSION:{YES | NO}]
            [/GLOBAL]
            [[/DELETE] [/GLOBAL]]]
    
    NET USE {devicename | *} [password | *] /HOME
    
    NET USE [/PERSISTENT:{YES | NO}]
    

命令行列出驱动器列表

  • 可以使用net use查询网络驱动器

    • PS ️21:56:10 [C:\Users\cxxu\Desktop] 100% net use
      不记录新的网络连接。
      
      
      状态       本地        远程                      网络
      
      -------------------------------------------------------------------------------
                   A:        \\localhost@5244\dav\AliyunDrive
                                                      Web Client Network
                   Y:        \\localhost@5244\dav      Web Client Network
      OK           Z:        \\localhost\share         Microsoft Windows Network
      命令成功完成。
      
  • 或者 wmic 命令(Window Management Instrumentation Command-line)来列出所有已映射的网络驱动器

  • 执行:wmic logicaldisk get caption,providername

    • PS ️20:49:10 [C:\Users\cxxu\Desktop] 100% wmic logicaldisk get caption,providername
      Caption  ProviderName
      A:       \\localhost@5244\DavWWWRoot\dav\AliyunDrive
      C:
      D:
      X:       \\localhost@5244\DavWWWRoot\dav\AliyunDrive
      Y:       \\localhost@5244\DavWWWRoot\dav
      Z:       \\localhost\share
      
    • 运行上述命令后,会显示所有逻辑磁盘(包括本地磁盘和网络映射的驱动器)的名称以及提供程序名称。

    • 对于网络映射的驱动器,ProviderName通常会显示为远程计算机或网络共享的位置。

  • 查看更多信息:wmic logicaldisk get caption,description,providername,volumename,size,freespace

    • PS ️21:05:14 [C:\Users\cxxu\Desktop] 100% wmic logicaldisk get caption,description,providername,volumename,size,freespace
      Caption  Description   FreeSpace     ProviderName                                 Size          VolumeName
      A:       网络连接      364817272832  \\localhost@5244\DavWWWRoot\dav\AliyunDrive  489019002880
      C:       本地固定磁盘  364817272832                                               489019002880
      D:       本地固定磁盘  15071293440                                                20971515904   20G系统镜像盘(mini)
      X:       网络连接      364817272832  \\localhost@5244\DavWWWRoot\dav\AliyunDrive  489019002880
      Y:       网络连接      364817272832  \\localhost@5244\DavWWWRoot\dav              489019002880
      Z:       网络连接      364817272832  \\localhost\share                            489019002880
      
  • 另外,如果你只是想查看所有的驱动器(包括本地和网络映射),而不关心提供程序信息,可以简化命令为

    • wmic logicaldisk get caption
  • 其他关于磁盘的命令行工具:diskpart (主要操作本地磁盘和驱动器)

删除取消映射

  • 首先查询所有驱动器(分区)

    • PS ️20:49:10 [C:\Users\cxxu\Desktop] 100% wmic logicaldisk get caption,providername
      Caption  ProviderName
      A:       \\localhost@5244\DavWWWRoot\dav\AliyunDrive
      C:
      D:
      X:       \\localhost@5244\DavWWWRoot\dav\AliyunDrive
      Y:       \\localhost@5244\DavWWWRoot\dav
      Z:       \\localhost\share
      
    • 经过确认,假设我们要删除重复映射的A,X盘中的一个,比如我要删除X

  • 执行删除:net use [partition:] /delete

    • 这里将[partition]替换为目标盘符X

      PS ️21:07:34 [C:\Users\cxxu\Desktop] 100% net use X: /delete
      X: 已经删除。
      
  • 再次检查分区列表

    PS ️21:07:50 [C:\Users\cxxu\Desktop] 100% wmic logicaldisk get caption,providername
    Caption  ProviderName
    A:       \\localhost@5244\DavWWWRoot\dav\AliyunDrive
    C:
    D:
    Y:       \\localhost@5244\DavWWWRoot\dav
    Z:       \\localhost\share
    

持久化配置映射

  • 以alist挂载阿里云open为例

  • 上述配置是一次性的,如果我们要永久化配置(例如注销后重新登录到windows或者重启后仍然保留网络驱动器)

  • 可以借助/p:yes选项,使得配置持久化

    • PS ️22:11:07 [C:\Users\cxxu\Desktop] 100% net use W: http://localhost:5244/dav  /p:yes
      为“localhost”输入用户名: admin
      输入 localhost 的密码:
      命令成功完成。
      
  • 追加使用/savecred选项,之后不用输入用户名和密码

    • PS ️0:28:19 [C:\Users\cxxu\Desktop] 100% net use W: http://localhost:5244/dav  /p:yes /savecred
      
      命令成功完成。
      
  • 这对应于GUI操作勾选(默认勾选)登录时重新连接(目前仅保留资源管理器内的驱动器图标,需要手动确定连接)

    • windows@命令行映射磁盘驱动器若干方法_第1张图片
记住凭证
  • 重启后可能需要输入密码,点击记住凭证

    • windows@命令行映射磁盘驱动器若干方法_第2张图片
  • 注意密码一栏存在黑点字符,一般就是已经记住密码了,只不过黑点数量不一定和密码数量相等,直接点击确定就可以登录了(记住凭证这个选项在创建的时候勾选过一次就行,后续不需要反复勾选,直接确定登录)

  • Note:记住凭证(密码)不表示会自动登录,仍然需要我们点击确定才会建立连接(如果是本地的共享文件夹,不需要密码时登录系统可以自定建立网路驱动器)

FAQ

登录后自动挂载[以alist webdav 挂载为例]

分析
  • 可能是因为windows的bug,(我在win11下配置的)后来无论怎么点击记住我的凭据,都无法顺利映射(连接服务器),即便服务器已经启动好了
  • 为例便于讨论,这里假设要将连接http://localhost:5244/dav挂载为W盘./p:yes表示每次登录都保留这个连接(如果可以的话)
  • 我尝试用命令行登录:net use W: http://localhost:5244/dav /p:yes,结果系统让我输入密码(正如前面展示的那样)
  • 考虑到之前保存过凭据,我追加/savecred,这次直接提示命令行执行完成(成功执行不报错);检查资源管理器中的映射网络分区处于已连接可用状态
    • Note:执行net use W: http://localhost:5244/dav /p:yes /savecred时,确保windows安全中心窗口已经被关闭了,否则会遇到执行错误(系统拒绝访问)
    • 其实在打开资源管理器或者访问挂载的网络分区之前,不会遇到执行错误
对策
  • 创建开机自启脚本

    • PS ️1:16:43 [C:\Users\cxxu\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup] 100% ls
      
              Directory: C:\Users\cxxu\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
      
      
      Mode                LastWriteTime         Length Name
      ----                -------------         ------ ----
      la---         2024/1/16     13:55           1041   alist_startup.lnk
      -a---         2024/2/11      1:03            121   MapCloudDrive.bat
      -a---         2024/1/16      1:29           1355   Snipaste.lnk
      
      PS ️1:16:44 [C:\Users\cxxu\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup] 100% cat .\MapCloudDrive.bat
      
      net use W: http://localhost:5244/dav  /p:yes /savecred
      
      
      
    • 即找到startup目录,里面可能有部分软件的快捷方式(系统会在开机时执行里面的软件或脚本)

    • 在这个目录里创建一个文件(文本文件),内容为net use W: http://localhost:5244/dav /p:yes /savecred,文件名任意,后缀为bat即可

    • 注意将这里的W:http://local...替换为自己的值即可

    • 也可以考虑创建日志文件,比如追加一行net use W: http://localhost:5244/dav /p:yes /savecred > %userprofile%/desktop/MapLog.txt 2> %userprofile%/desktop/MapErrLog.txt(会在桌面生成2个日志文件,列出执行结果,如果MapErrLog.txt 为空,说明顺利执行了)

  • 如果挂载了多个盘,可以做类似的操作(可以写在同一个文件中)

  • 这样在网络顺畅条件下,可以开机自动挂载好网络磁盘分区(驱动器)

Note
  • 上述脚本会开机自动执行,会弹出一个cmd命令行窗口,可能会停留几秒钟,执行完毕会自动关闭
    • 不要手动关闭,除非它一直卡在哪里
    • 执行完打开资源管理器,顺利的话可以看到网络磁盘顺利挂载
  • 如果设置了代理类软件开机自启,有可能会影响到网络磁盘的加载
    • 由于网络磁盘的顺利挂载依赖于已经顺利联网的alist成功建立服务(访问云盘资源),这个过程可能受到网络能否在开机时及时连通,否则执行挂载的命令不会成功
    • 这就是说,如果您经常遇到开机后无法自动挂载网路磁盘的情况,考虑在alist配置文件中配置延迟启动
    • 然后再配置开机自启的脚本退后执行,比如开机30秒后或者1分钟后执行
      • powershell提供了停留若干时间的功能
      • cmd可以用ping 若干次模拟停留
      • 除了开机自启目录中放置脚本,还可以考虑用windows的计划任务来做延迟开机自启

访问已经挂载网络磁盘分区

  • 用命令行也可以直接访问已经挂载的网络磁盘分区,这里时linux风格的方式,区分字母大小写,并且无法使用路径补全提示

  • PS ️1:56:30 [W:\AliyunDrive] 100% ls
    
            Directory: W:\AliyunDrive
    
    
    Mode                LastWriteTime         Length Name
    ----                -------------         ------ ----
    da---         2024/1/14     20:58                  .
    da---         2024/1/14     20:58                  ..
    d----          2024/2/3     19:39                  来自:通义听悟
    

连接到局域网手机alist webdav

  • windows@命令行映射磁盘驱动器若干方法_第3张图片

添加一个网络位置

  • 在Windows操作系统中添加网络位置的步骤如下,这里以Windows 10系统为例:

    1. 打开文件资源管理器

      • 点击桌面左下角的“开始”按钮或按下键盘上的Win+E键打开“文件资源管理器”。
    2. 启动添加网络位置向导

      • 在“文件资源管理器”窗口左侧的导航窗格中找到并点击“此电脑”或者直接在地址栏上方点击“计算机”图标。
      • 右键点击空白区域,然后选择“添加一个网络位置”选项。
    3. 按照向导操作

      • 弹出的“添加网络位置向导”会引导你完成后续步骤。
      • 点击“下一步”继续。
      • 在接下来的界面中,选择“自定义网络位置”。
    4. 输入网络位置地址

      • 当提示你指定网络位置时,输入你要连接的网络共享、FTP站点或其他网络资源的URL或UNC路径(例如,对于网络共享可能是 \\server\sharename)。
    5. 完成配置

      • 根据向导提示设置名称(可选),点击“下一步”后,最后确认信息无误,点击“完成”按钮创建网络位置快捷方式。

    创建完成后,新添加的网络位置将出现在“此电脑”或“网络位置”列表中,方便你快速访问该网络资源。

网路驱动器和网络文件夹(位置)区别

  • windows@命令行映射磁盘驱动器若干方法_第4张图片

小结

  • 使用命令行工具net use来创建网络磁盘驱动器操作简单,但是理解net use的语法需要花点功夫
  • 例如创建永久性映射,有相应的记住凭证的选项

你可能感兴趣的:(windows)