找回密码
 加入
搜索
查看: 4116|回复: 14

[AU3基础] 如何将本地某一文件夹映射为虚拟盘符?

 火.. [复制链接]
发表于 2016-1-18 19:32:38 | 显示全部楼层 |阅读模式
不打算用DOS的SUBST命令,只想用AUTOIT来实现

比如将C:\AAA 文件夹,映射为Z:\盘

我查了,好像没有这样的用法,只查到的是将本地文件夹映射为网络共享文件夹

但如果将本地C:\AAA文件夹,映射为本地一虚拟盘符,比如 Z: 这个如何写呢?
发表于 2016-1-18 20:23:29 | 显示全部楼层
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>subst

C:\Users\Administrator>subst/?
将路径与驱动器号关联。

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        指定要分配路径的虚拟驱动器。
  [drive2:]path  指定物理驱动器和要分配给虚拟驱动器的路径。
  /D             删除被替换的
(虚拟)驱动器。

不带参数键入 SUBST,以显示当前虚拟驱动器的列表。
 楼主| 发表于 2016-1-18 22:26:03 | 显示全部楼层
楼上没有看清我的要求啊,我要求是不用SUBST命令,只想用AUTOIT来实现。
发表于 2016-1-19 00:19:35 | 显示全部楼层
看看帮助里面都有说
发表于 2016-1-19 10:45:09 | 显示全部楼层
本机:192.168.1.32
共享:d:\test
内网路径:  \\192.168.1.32\test

本机一样映射到R盘。
符合要求吗?
 楼主| 发表于 2016-1-19 13:26:04 | 显示全部楼层
帮助里面我没有找到,不知道是否还有别的方法可以实现。
另外,楼上说的,不要我要的,我要的是将本地驱动器的某一文件夹,比如C:\AAA 映射为本地Z:盘
发表于 2016-1-19 15:35:20 | 显示全部楼层
 楼主| 发表于 2016-1-19 15:57:43 | 显示全部楼层
谢谢楼上,可惜,我没有那个水平,看不懂,更不会用了!
能不能举例,给我一段现成的代码,我好照猫画虎,依葫芦画瓢,改一下我用?
先谢谢您!!!
发表于 2016-1-21 14:15:32 | 显示全部楼层
DriveMapAdd("z:","\\localhost\AAA")
这样也能映射个Z碟出来
 楼主| 发表于 2016-1-21 23:16:06 | 显示全部楼层
楼上的这个不好使,不行啊,我是拿着U盘来用的,不一定在哪个机器上用,U盘上的程序得在特定的盘符下使用。所以我才需要这个功能
发表于 2016-1-22 11:59:26 | 显示全部楼层
你的这个但书一开始就该讲了。
试试看DriveGetDrive
 楼主| 发表于 2016-1-22 13:08:40 | 显示全部楼层
这个功能只是说:
返回枚举驱动器的数组.
驱动器类型:
    $DT_ALL ("ALL") (全部)
    $DT_CDROM ("CDROM") (只读光盘)
    $DT_REMOVABLE ("REMOVABLE") (可移动盘)
    $DT_FIXED ("FIXED") (固定盘)
    $DT_NETWORK ("NETWORK") (网络盘)
    $DT_RAMDISK ("RAMDISK") (虚拟内存盘)
    $DT_UNKNOWN ("UNKNOWN") (未知类型)

没有提及如何映射,楼上是在哪里看到有这个功能的,还是说,你只是臆想出来的?
不知道的话,就不要乱说
发表于 2016-1-22 14:23:07 | 显示全部楼层
如果u盘盘符时常变,就用DriveGetDrive遍历判断哪个盘是u盘,然后按照5楼的步骤来做。

如果你没试,怎么知道其他人的思路不对?
如果不对,为什么不把错误返回贴上来?
 楼主| 发表于 2016-1-22 19:50:08 | 显示全部楼层
我是个新手,但还是感觉这个问题无解
楼上所说的,即使判断出哪个是U盘,但每台计算机的内网地址不同,有时还不是一个网段的,同时还得设置这个U盘共享,这样也太麻烦了

希望是,不用共享,不使用IP地址,直接将插在本机系统上的U盘中的某一文件夹,映射为本地一个盘符。
发表于 2016-1-25 11:50:19 | 显示全部楼层
我自己测试过能跑,但没去别台电脑测试,您自个儿修改吧。
#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>

Local $aArray = DriveGetDrive($DT_REMOVABLE)
If @error Then
        MsgBox(0x40000, "侦测U盘", "找不到U盘")
Else
        DriveMapAdd("Z:", "\\localhost\software")
EndIf
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-23 16:22 , Processed in 0.092886 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表