怎么用AU3删除只读文件

怎么用AU3删除只读文件,第1张

Local $sourceFile,$specifiedPath,$destFile

$sourceFile="源文件"

$specifiedPath="目标路径"

$destFile=$specifiedPath&$sourceFile

if FileExists($destFile)Then

FileSetAttrib($destFile,"-R")

EndIf 复制,并且强行覆盖

FileCopy($sourceFile,$destFile,9)LZ如果要删除就用下面的方法

FileDelete($destFile)

你好。如果文件的属性是只读之类的是不能删除,要先改属性。

FileDelete只能处理文件类的,对于文件夹是不行的,所以需要分开处理,

文件夹的指令是 Dir 开头的函数,例如 DirRemove DirCreate

DirRemove ( "路径" [, 递归遍历] )

路径: 要删除的文件夹的路径。

递归遍历 :[可选参数] 此标志参数用以决定是否删除子目录:

0 = (默认)不删除文件及子目录

1 = 删除文件及子目录(类似于 DOS 下的 DelTree 命令)

用 AdlibRegister 开启一个定时器,用于定时更新进度条,这样可以与删除清理 *** 作并行。

下面是删除文件的例子:

Local $progress = 0

ProgressOn("清理中", "删除文件", $progress & " %")

AdlibRegister("updateProgress", 1000) 开启一个1s定时器,每秒更新

DirRemove(@TempDir & "\*.tmp", 1) 删除系统临时文件

AdlibUnRegister("updateProgress") 任务结束,取消定时器

ProgressSet(100, "100 %") 不管进度条有没有更新到100%,任务结束就设为100%

Sleep(1000) 给1s的显示时间让用户看清

ProgressOff()

Func updateProgress()

    $progress += 10

    ProgressSet($progress, $progress & " %")

EndFunc

这里的进度其实都是假的,不反映实际情况。

删除注册表,清理任务栏图标等与此类似。每次开启一个新的进度条的时候记得将$progress清零。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11687144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存