通配符问题请教
本帖最后由 sunyelover 于 2023-5-2 22:48 编辑我想删除一个文件夹下面的文件,
如C盘的1目录下的autoit12345目录下面的autoitss.dll
C:\1\autoit12345\autoitss.dll
这个难点在于文件夹autoit后面那组数字是随机的,不是固定的,需要通配符,这个通配符有点难,我不会。那个大佬会,帮忙写一下 谢谢
本帖最后由 sunyelover 于 2023-5-2 22:26 编辑
在互联网找到一个,他是删除所有文件,我只想删除一个文件,
#include <File.au3>
$Path = "C:\1\";指定目录,路径自己改
$FileName = "autoit"
$Files = _FileListToArray($Path) ;获得指定目录下的文件
For $i = 1 To UBound($Files)-1
If StringInStr($Files[$i], $FileName) Then
FileDelete($Path & $Files[$i]) ;删除含有$FileName的文件
EndIf
Next
所以如果有多个你是打算删除哪一个??? 你的问题描述的也不清楚啊
#include <File.au3>
$Path = "C:\1\";指定目录,路径自己改
$FileName = "autoit"
$Files = _FileListToArray($Path) ;获得指定目录下的文件
For $i = 1 To UBound($Files)-1
If StringInStr($Files[$i], $FileName) Then
FileDelete($Path & $Files[$i]) ;删除含有$FileName的文件
exitloop ;删除一个后结束循环
EndIf
Next 就删除一个 ,autoitss.dll 文件即可 本帖最后由 3131210 于 2023-5-2 23:05 编辑
#include <File.au3>
Local $Path = 'C:\1\';指定目录,路径自己改
Local $FileFolderName = 'autoit'
Local $FileName = 'autoitss.dll'
Local $aFileList = _FileListToArray($Path, $FileFolderName & '*', 2, 1)
If Not @error Then
For $i = 1 To $aFileList
If FileExists($aFileList[$i] & '\' & $FileName) Then
FileDelete($aFileList[$i] & '\' & $FileName)
ExitLoop ;删除一个文件后结束循环
EndIf
Next
EndIf
先枚举autoit*目录,如果目录存在则检查目录下是否存在对应的DLL 如果存在则删除。 用正则表达式不就可以实现通配符了 3131210 发表于 2023-5-2 23:01
#include
Local $Path = 'C:\1\';指定目录,路径自己改
非常好,谢谢
页:
[1]