Hallo,
kann es sein das ein Verzeichniss durch die Befehle
[autoit]DirCreate()
FileCopy()
FileCopy()
FileOpenDialog()
Gesperrt wird? Mit gesperrt meine ich, dass man die Datei solange nicht löschen kann, bis das Programm beendet wurde.
Hallo,
kann es sein das ein Verzeichniss durch die Befehle
[autoit]DirCreate()
FileCopy()
FileCopy()
FileOpenDialog()
Gesperrt wird? Mit gesperrt meine ich, dass man die Datei solange nicht löschen kann, bis das Programm beendet wurde.
Hast Du ein konkretes Script, bei dem das Problem nachvollziehbar auftritt.
Bevor wir uns hier alle Testscript's basteln ...
Nein. Das war eigentlich nur eine spontane Frage dazu. Wird dabei ein Filehandle geöffnet?
Nein.
So ich habs mal ander versucht. Das Problem liegt wohl an Fileopendialog. Dadurch kann man den Ordner nicht mehr löschen, solange das Script noch läuft. Hier mal ein beispiel:
[autoit]DirCreate(@ScriptDir & "\Test")
FileCopy(@ScriptDir & "\Einstellungen.au3",@ScriptDir & "\Test\Einstellungen.au3")
$fileopendialog = FileOpenDialog("", @DesktopDir & "", "alles(*.*)")
FileClose($fileopendialog)
Sleep(10000)
Mit dem Fileopendialog muss die datei @ScriptDir & "\Test\Einstellungen.au3 geöffnet werden. Dann lässt sich der Ordner @ScriptDir & "\Test" nicht mehr löschen. Was kann man dagegen tun?
macht doch irgendwie keinen Sinn,
einen Ordner löschen zu wollen, in dem ich gerade ein Datei auswähle ...
Der Ordner wird von Windows doch gesperrt, da er in dem Moment der Datei ein Handle zuweist.
Entweder su kopierst Dir die Datei in einen anderen Ordner, in dem Du dann auch die Datei wieder löschen kannst,
oder du löscht den Ordner erst bei Beenden des Scripts.
Das liegt daran, das der FileOpenDialog das @WorkingDir auf das ausgewählte Verzeichnis setzt. Somit ist das Verzeichnis gelockt.
Um das rückgängig zu machen, musst Du das @WorkingDir auf ein anderes Verzeichnis setzen:
z.B.:
FileChangeDir(@WindowsDir)
[/autoit]Edit: Mist, zu langsam...
Danke. Es funktioniert. Nur zur Erklärung: Ich wollte mit Fileopendialog eine Datei öffnen um es in einem anderen Ordner verschieben zu lassen. Das klappte vorher nicht ganz aber jetzt funzt es