AU3能实现磁盘文件系统转换吗?(不借助DOS命令)
本帖最后由 2287399 于 2010-1-30 22:52 编辑比如FAT32转换成NTFS怎么实现? 我看了一天的帮助文档没找到答案
还有个问题 AU3能给文件或文件夹加入写保护吗? 打开你的命令提示符,输入convert /?看看。用AU3调用这个命令的磁盘格式转化就行。 用AU3 的RUN 或 _rundos 调用 CONVERT 命令来做将 FAT 卷转换为 NTFS。
CONVERT volume /FS:NTFS
volume 指定驱动器号(后面跟一个冒号)、装入点或卷名。
/FS:NTFS 指定要将此卷转换为 NTFS。
/V 指定将在详细模式下运行 Convert。
/CvtArea:filename
指定根目录中的一个连续文件,该文件
将是 NTFS 系统文件的占位符。
/NoSecurity 指定所有用户均可以访问
转换文件和目录的安全设置。
/X 如果必要,请先强制卸除卷。
该卷的所有打开句柄将会无效。 这个方法我也试过的.但是在量产过的U盘上不能用
还是先谢谢2位 skyfree大大
你的论坛什么时候能开啊 本帖最后由 lpxx 于 2010-1-30 21:25 编辑
论坛已经有成品了,不知是否符合你的意思。
http://www.autoitx.com/forum.php?mod=viewthread&tid=2144&highlight=%D7%AA%BB%BB
唉..还是复制一下代码吧,不过我不是作者哈.; 脚本开始 - 在这后面添加您的代码.
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=D:\autoit3\Aut2Exe\Icons\TC.ico
#AutoIt3Wrapper_outfile=分区格式转换工具.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=哦哟科技
#AutoIt3Wrapper_Res_Description=哦哟科技
#AutoIt3Wrapper_Res_Fileversion=1.1.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Copyright @ 2008-2009 深圳哦哟科技
#AutoIt3Wrapper_Res_Field=公司|深圳哦哟科技
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#NoTrayIcon
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("磁盘分区格式转换工具", 380, 196, -1, -1)
$Group1 = GUICtrlCreateGroup("磁盘格式转换说明", 16, 16, 345, 110)
GUICtrlSetColor(-1, 0x42A5FF)
GUICtrlCreateLabel("NTFS格式是WinXp推荐使用的格式,具有文件加密,远程存储,", 30, 40, 330, 20)
GUICtrlCreateLabel("磁盘配额,恢复磁盘活动的日志记录,对单个文件而不仅仅对", 30, 60, 330, 20)
GUICtrlCreateLabel("文件夹设置权限等优点,但因DOS/WIN9X均不能识别,初级用户", 30, 80, 330, 20)
GUICtrlCreateLabel("不建议转换.", 30, 100, 330, 20)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateLabel("请根据自己的需要选择相应的分区进行转换,如果不需要请退出!", 20, 136, 339, 20)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlCreateLabel("请选择要转换的分区:", 25, 165, 145, 245)
$button = GUICtrlCreateButton("转换", 220, 158, 60, 25)
$button1 = GUICtrlCreateButton("退出", 290, 158, 60, 25)
$combo1 = GUICtrlCreateCombo("", 145, 160, 50, 30)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$disk = DriveGetDrive("FIXED")
If Not @error Then
For $i = 1 To $disk
GUICtrlSetData($combo1, $disk[$i], $disk)
Next
EndIf
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE, $button1
Exit
Case $button
$drive = GUICtrlRead($combo1)
If DriveGetFileSystem($drive) = "NTFS" Then
MsgBox(0, "系统快速设置工具", "此分区已是NTFS格式无需转换")
ContinueLoop
Else
RunWait(@ComSpec & ' /c convert ' & $drive & ' /fs:ntfs', '')
ProcessWaitClose("cmd.exe")
DirRemove("c:\recycler", 1)
FileDelete("c:\Recycled")
EndIf
Case $button1
Exit
EndSwitch
WEnd 哎。。。
还是使用RunWait(@ComSpec & ' /c convert ' & $drive & ' /fs:ntfs', '')这个方法。。。
但是 量产过的优盘不能转换 量产U盘去找相应的芯片提供的量产工具么,干嘛要自己写呢? 如果遇到什么问题都去找工具 那不如不学AU3
我既然要学这东西 就尽可能的使用它来解决问题 同时也可以增加自己的知识量 强化思维能力 如果遇到什么问题都去找工具 那不如不学AU3
我既然要学这东西 就尽可能的使用它来解决问题 同时也可以增加 ...
2287399 发表于 2010-1-31 10:40 http://www.autoitx.com/images/common/back.gif
这话听着怎么这么耳熟? 很好,不只是学到转换的方法,还学会学习的方法 楼主,我们拥有同样的AU3想法。调用外部工具没意思,应该用纯AU3来实现,这样才有趣。但我不会~
页:
[1]