2287399 发表于 2010-1-30 20:19:06

AU3能实现磁盘文件系统转换吗?(不借助DOS命令)

本帖最后由 2287399 于 2010-1-30 22:52 编辑

比如FAT32转换成NTFS怎么实现? 我看了一天的帮助文档没找到答案
还有个问题 AU3能给文件或文件夹加入写保护吗?

skyfree 发表于 2010-1-30 20:27:11

打开你的命令提示符,输入convert /?看看。用AU3调用这个命令的磁盘格式转化就行。

maxkingmax 发表于 2010-1-30 20:40:42

用AU3 的RUN 或 _rundos 调用 CONVERT 命令来做将 FAT 卷转换为 NTFS。

CONVERT volume /FS:NTFS


volume      指定驱动器号(后面跟一个冒号)、装入点或卷名。
/FS:NTFS    指定要将此卷转换为 NTFS。
/V          指定将在详细模式下运行 Convert。
/CvtArea:filename
            指定根目录中的一个连续文件,该文件
            将是 NTFS 系统文件的占位符。
/NoSecurity 指定所有用户均可以访问
            转换文件和目录的安全设置。
/X          如果必要,请先强制卸除卷。
            该卷的所有打开句柄将会无效。

2287399 发表于 2010-1-30 20:49:56

这个方法我也试过的.但是在量产过的U盘上不能用

还是先谢谢2位

2287399 发表于 2010-1-30 20:50:18

skyfree大大
你的论坛什么时候能开啊

lpxx 发表于 2010-1-30 21:24:11

本帖最后由 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

2287399 发表于 2010-1-30 22:48:17

哎。。。
还是使用RunWait(@ComSpec & ' /c convert ' & $drive & ' /fs:ntfs', '')这个方法。。。
但是   量产过的优盘不能转换

nxbigdaddy 发表于 2010-1-31 09:49:42

量产U盘去找相应的芯片提供的量产工具么,干嘛要自己写呢?

2287399 发表于 2010-1-31 10:40:19

如果遇到什么问题都去找工具 那不如不学AU3
我既然要学这东西 就尽可能的使用它来解决问题 同时也可以增加自己的知识量 强化思维能力

lpxx 发表于 2010-1-31 11:43:24

如果遇到什么问题都去找工具 那不如不学AU3
我既然要学这东西 就尽可能的使用它来解决问题 同时也可以增加 ...
2287399 发表于 2010-1-31 10:40 http://www.autoitx.com/images/common/back.gif


这话听着怎么这么耳熟?

catcher 发表于 2010-1-31 12:45:41

很好,不只是学到转换的方法,还学会学习的方法

pusofalse 发表于 2010-1-31 17:56:06

楼主,我们拥有同样的AU3想法。调用外部工具没意思,应该用纯AU3来实现,这样才有趣。但我不会~
页: [1]
查看完整版本: AU3能实现磁盘文件系统转换吗?(不借助DOS命令)