Синтаксис FileDelete является
FileDelete ("filename") ; not only directory!
Вы также можете использовать групповые символы для имени файла (* и?). Diskussion of wildcards: see Remarks here.
DirRemove работает следующим образом:
DirRemove ("path" [, recurse = 0])
С Recurse = 0 (по умолчанию), удаляет папку, только если она пуста! С recurse = 1 удалите файлы и подкаталоги (например, DOS DelTree).
EDIT: Возможно, вы неправильно поняли использование флажков. Вот почему более подробно:
; Remove only the empty folder "Folder_path"
DirRemove('Folder_Path')
; Remove folder "Folder_Path" with all subfolder and all files within
DirRemove('Folder_Path', 1)
Если это не должно работать, это вопрос о системных правах.
EDIT_2: Если вы хотите удалить без самой корневой папки, вы можете сделать так:
#include <Files.au3>
; get all the files in root folder and delete them
Local $aFilesInRoot = _FileListToArray('Your_Path', 1, True) ; 1=$FLTA_FILES = Return files only, True=returns full path
For $i = 1 To $aFilesInRoot[0]
FileDelete($aFilesInRoot[1])
Next
; now get all the subfolder under root and delete these all recursive
Local $aFolderInRoot = _FileListToArray('Your_Path', 2, True); 2=$FLTA_FOLDERS = Return Folders only
For $i = 1 To $aFolderInRoot[0]
DirRemove($aFolderInRoot[1], 1)
Next
Но не проще переделать удалено корневую папку после удаления все только с одной командой?