#include "IFileOperation.au3" ; Set high DPI so that file operation dialogs are high DPI DllCall("user32.dll", "bool", "SetProcessDpiAwarenessContext", @AutoItX64 ? "int64" : "int", -2) Func CopyItem() ; EXAMPLE: Copying a single file or folder ; Local $sPathFrom = @ScriptFullPath Local $sPathTo = @ScriptDir & "\copy" _IFileOperationCopyItem($sPathFrom, $sPathTo) EndFunc Func CopyItems() ; EXAMPLE: Copying multiple files and folders ; ; Items must be in a 1D array Local $aItems[2] = [@ScriptFullPath, @ScriptDir & "\IFileOperation.au3"] ; IDataObject is created from array Local $pDataObj = GetDataObject($aItems) Local $sPathTo = @ScriptDir & "\copy" _IFileOperationCopyItems($pDataObj, $sPathTo) ; Object must be released after file operation is complete _Release($pDataObj) EndFunc Func MoveItem() ; EXAMPLE: Copying a single file or folder ; Local $sPathFrom = @ScriptFullPath Local $sPathTo = @ScriptDir & "\move" _IFileOperationMoveItem($sPathFrom, $sPathTo) EndFunc Func MoveItems() ; EXAMPLE: Copying multiple files and folders ; ; Items must be in a 1D array Local $aItems[2] = [@ScriptFullPath, @ScriptDir & "\IFileOperation.au3"] ; IDataObject is created from array Local $pDataObj = GetDataObject($aItems) Local $sPathTo = @ScriptDir & "\move" _IFileOperationMoveItems($pDataObj, $sPathTo) ; Object must be released after file operation is complete _Release($pDataObj) EndFunc Func NewItemFile() ; EXAMPLE: Creating a new file ; Local $sPath = @ScriptDir Local $sNewFile = "New Text File.txt" _IFileOperationNewItem($sPath, $sNewFile) EndFunc Func NewItemFolder() ; EXAMPLE: Creating a new folder ; Local $sPath = @ScriptDir Local $sNewFolder = "New folder" _IFileOperationNewItem(@ScriptDir, $sNewFolder, True) EndFunc Func RenameItem() ; EXAMPLE: Renaming a single item (file or folder) ; Local $sPath = "D:\Documents\GitHub\.IFileOperation\test.txt" Local $sNewName = "test-renamed.txt" _IFileOperationRenameItem($sPath, $sNewName) EndFunc Func RenameItems() ; EXAMPLE: Rename multiple items (files and folders) ; ; Items must be in a 1D array Local $sName1 = "D:\Documents\GitHub\.IFileOperation\test\test.txt" Local $sName2 = "D:\Documents\GitHub\.IFileOperation\test2\test2.txt" Local $sName3 = "D:\Documents\GitHub\.IFileOperation\test3\test3.txt" Local $sNewName = "test-renamed.txt" Local $aItems[3] = [$sName1, $sName2, $sName3] ; IDataObject is created from array Local $pDataObj = GetDataObject($aItems) _IFileOperationRenameItems($pDataObj, $sNewName) ; Object must be released after file operation is complete _Release($pDataObj) EndFunc Func DeleteItem() ; EXAMPLE: Deleting a single item (file or folder) ; Local $sName = "D:\Documents\GitHub\.IFileOperation\test\" _IFileOperationDeleteItem($sName) EndFunc Func DeleteItemPermanently() ; EXAMPLE: Permanently deleting a single item (file or folder) ; Local $sName = "D:\Documents\GitHub\.IFileOperation\test\" _IFileOperationDeleteItem($sName, True) EndFunc Func DeleteItems() ; EXAMPLE: Deleting multiple items (files and folders) ; ; Items must be in a 1D array Local $sName1 = "D:\Documents\GitHub\.IFileOperation\test.txt" Local $sName2 = "D:\Documents\GitHub\.IFileOperation\test" Local $aItems[2] = [$sName1, $sName2] ; IDataObject is created from array Local $pDataObj = GetDataObject($aItems) _IFileOperationDeleteItems($pDataObj) ; Object must be released after file operation is complete _Release($pDataObj) EndFunc Func DeleteItemsPermanently() ; EXAMPLE: Permanently deleting multiple items (files and folders) ; ; Items must be in a 1D array Local $aItems[2] = ["D:\Documents\GitHub\.IFileOperation\test.txt", "D:\Documents\GitHub\.IFileOperation\test"] ; IDataObject is created from array Local $pDataObj = GetDataObject($aItems) _IFileOperationDeleteItems($pDataObj, True) ; Object must be released after file operation is complete _Release($pDataObj) EndFunc