Arrays @使用_FileListToArray的错误值
我正在编写一个脚本来解析机器上的所有用户配置文件,并检查目录的内容。根据目录的内容,某些文件夹可能会被删除。 对于每个用户,我使用Arrays @使用_FileListToArray的错误值,arrays,autoit,Arrays,Autoit,我正在编写一个脚本来解析机器上的所有用户配置文件,并检查目录的内容。根据目录的内容,某些文件夹可能会被删除。 对于每个用户,我使用\u FileListToArray读取 C:\Users\<Username>\AppData\Roaming\schlumberger\Petrel. 如果您需要任何澄清,请告诉我。没有理由@error会不断返回0,因此稍微重写一下应该可以解决此问题。我用了一种稍微不同的方法,我会检查@error是否为0(我们的文件夹存在),并检查确保$petre
\u FileListToArray
读取
C:\Users\<Username>\AppData\Roaming\schlumberger\Petrel.
如果您需要任何澄清,请告诉我。没有理由
@error
会不断返回0,因此稍微重写一下应该可以解决此问题。我用了一种稍微不同的方法,我会检查@error
是否为0
(我们的文件夹存在),并检查确保$petrelFolders
的第一个元素大于0(第一个元素包含找到的目录数,因此如果为0,我们不想循环)-这给了我们:
Func DeleteDirectories($userList)
If $debug = True Then ConsoleWrite(@CR & 'Function: DeleteDirectories')
;_ArrayDisplay($userList)
For $userElement in $userList
; debug ------------------------------------------------------------------------------
ConsoleWrite(@CR & 'Number of user profiles found = ' & $userList[0])
ConsoleWrite(@CR & '$userElement = ' & $userElement)
ConsoleWrite(@CR & 'Debug: C:\Users\' & $userElement & '\AppData\Roaming\schlumberger\Petrel')
; debug ------------------------------------------------------------------------------
Local $petrelFolders = _FileListToArray("C:\Users\" & $userElement & "\AppData\Roaming\schlumberger\Petrel", "*", 2)
;ConsoleWrite(@CR & '@error = ' & @error)
;ConsoleWrite(@CR & '$petrelFolders = ' & $petrelFolders)
If @error = 0 And $petrelFolders[0] > 0 Then
For $i = 0 To Ubound($petrelFolders) - 1 Step 1
If $i <> 0 And $petrelFolders[$i] >= Int("2013") Then
ConsoleWrite(@CR & "C:\Users\" & $userElement & "\AppData\Roaming\schlumberger\Petrel\" & $petrelFolders[$i] & " will be deleted")
EndIf
Next
EndIf
Next
CreateDirectories($userList)
EndFunc
Func删除目录($userList)
如果$debug=True,则ConsoleWrite(@CR&'Function:deleteDirectory')
;_ArrayDisplay($userList)
对于$userList中的$userElement
; 调试------------------------------------------------------------------------------
ConsoleWrite(@CR&'找到的用户配置文件数='&$userList[0])
控制台写入(@CR&'$userElement='&$userElement)
控制台写入(@CR&'Debug:C:\Users\'和$userElement&'\AppData\Roaming\schlumberger\Petrel'))
; 调试------------------------------------------------------------------------------
本地$petrelFolders=\u文件列表到阵列(“C:\Users\”和$userElement&“\AppData\Roaming\schlumberger\Petrel”,“*”,2)
;控制台写入(@CR&'@error='&@error)
;控制台写入(@CR&'$petrelFolders='&$petrelFolders)
如果@error=0且$petrelFolders[0]>0,则
对于$i=0到Ubound($petrelFolders)-1步骤1
如果$i 0和$petrelFolders[$i]>=Int(“2013”),则
ConsoleWrite(@CR&“C:\Users\”和$userElement&“\AppData\Roaming\schlumberger\Petrel\”和$petrelFolders[$i]&”将被删除)
恩迪夫
下一个
恩迪夫
下一个
CreateDirectory($userList)
EndFunc
Func DeleteDirectories($userList)
If $debug = True Then ConsoleWrite(@CR & 'Function: DeleteDirectories')
;_ArrayDisplay($userList)
For $userElement in $userList
; debug ------------------------------------------------------------------------------
ConsoleWrite(@CR & 'Number of user profiles found = ' & $userList[0])
ConsoleWrite(@CR & '$userElement = ' & $userElement)
ConsoleWrite(@CR & 'Debug: C:\Users\' & $userElement & '\AppData\Roaming\schlumberger\Petrel')
; debug ------------------------------------------------------------------------------
Local $petrelFolders = _FileListToArray("C:\Users\" & $userElement & "\AppData\Roaming\schlumberger\Petrel", "*", 2)
;ConsoleWrite(@CR & '@error = ' & @error)
;ConsoleWrite(@CR & '$petrelFolders = ' & $petrelFolders)
If @error = 4 Then
ConsoleWrite(@CR & 'No folders have been found.')
ConsoleWrite(@CR & '@error = ' & @error)
Else
For $petrelElement in $petrelFolders
ConsoleWrite(@CR & '@error = ' & @error)
ConsoleWrite(@CR & '$petrelElement = ' & $petrelElement)
If $petrelElement >= "2013" Then
ConsoleWrite(@CR & "C:\Users\" & $userElement & "\AppData\Roaming\schlumberger\Petrel\" & $petrelElement & " will be deleted")
Local $fileDeleteCheck = DirRemove("C:\Users\" & $userElement & "\AppData\Roaming\schlumberger\Petrel\" & $petrelElement)
ConsoleWrite(@CR & '$fileDeleteCheck = ' & $fileDeleteCheck)
EndIf
Next
EndIf
Next
CreateDirectories($userList)
EndFunc
Func DeleteDirectories($userList)
If $debug = True Then ConsoleWrite(@CR & 'Function: DeleteDirectories')
;_ArrayDisplay($userList)
For $userElement in $userList
; debug ------------------------------------------------------------------------------
ConsoleWrite(@CR & 'Number of user profiles found = ' & $userList[0])
ConsoleWrite(@CR & '$userElement = ' & $userElement)
ConsoleWrite(@CR & 'Debug: C:\Users\' & $userElement & '\AppData\Roaming\schlumberger\Petrel')
; debug ------------------------------------------------------------------------------
Local $petrelFolders = _FileListToArray("C:\Users\" & $userElement & "\AppData\Roaming\schlumberger\Petrel", "*", 2)
;ConsoleWrite(@CR & '@error = ' & @error)
;ConsoleWrite(@CR & '$petrelFolders = ' & $petrelFolders)
If @error = 0 And $petrelFolders[0] > 0 Then
For $i = 0 To Ubound($petrelFolders) - 1 Step 1
If $i <> 0 And $petrelFolders[$i] >= Int("2013") Then
ConsoleWrite(@CR & "C:\Users\" & $userElement & "\AppData\Roaming\schlumberger\Petrel\" & $petrelFolders[$i] & " will be deleted")
EndIf
Next
EndIf
Next
CreateDirectories($userList)
EndFunc