找回密码
 加入
搜索
查看: 2321|回复: 5

[AU3基础] 关于判断本地磁盘是否存在且可写入的问题~

  [复制链接]
发表于 2010-8-30 22:21:07 | 显示全部楼层 |阅读模式
如题~
我想做这样一个程序,当D盘存在且已经格式化,将文件TXT.exe复制到D盘,
比如D盘不存在或者未格式化就将文件TXT.exe复制到C盘。请问高手这个判断代码怎样写?
是不是得判断D盘的可写入性???
但怎样写呢?
 楼主| 发表于 2010-8-30 23:15:29 | 显示全部楼层
能否通过在D盘写入文件夹的方式判断呢?返回值怎样写啊!在线等!
发表于 2010-8-30 23:21:44 | 显示全部楼层
判读D盘是否存在,用FileExists。
判断是否有写入保护,发送IOCTL_DISK_IS_WRITABLE控制请求。
判断是否未格式化,FileExists结合CreateFile。
If Not FileExists("D:") And CreateFile("\\.\D:", ... ...) <> 0 Then (D: exists)。
发表于 2010-8-31 05:28:28 | 显示全部楼层
P大的回答总是很特别。

我个人觉得可以这么用.

1. DriveGetDrive( "all" )  返回所有驱动信息,当然,也可以使用"Fixed“参数。
    如果是单独判断某个驱动器,则 DriveGetType(X:)来返回驱动器类别。
2. 使用DriveGetFileSystem来获取磁盘格式。
3. 使用DriveSpaceFree及FileOpen函数(主要判断NTFS权限)来确定最终是否可写。

评分

参与人数 1金钱 +30 收起 理由
pusofalse + 30 学习了~ 思维定向~

查看全部评分

发表于 2010-8-31 06:49:52 | 显示全部楼层
if not filecopy('TXT.exe', 'd:\') then filecopy('TXT.exe', 'C:\')
发表于 2010-8-31 08:49:39 | 显示全部楼层
$var = DriveGetDrive("all")
If DriveStatus
这样也可以
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-22 23:06 , Processed in 0.096942 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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