Wie ein File closen, das mit FileOpenDialog geöffnet ist?

  • Hi alle,
    ich habe mir ein script erstellt, das einige Korrekturen über mehrere Dateien (EAC CUE-sheets und Namen der WAV-files) durchführt. Jetzt ist die letzte sache, die nicht geht, dass ich das in FileOpenDialog geöffnete file am schluss löschen muss. Denn das korrigierte Orginal (was in FileOpenDialog geöffnet übrig bleibt) soll dann vom temp-file auf das Orginal-file umbenannt werden. Und hier klemmt es, denn "FileDelete" geht nicht (weil offensichtlich die im FileOpenDialog gewählte Datei blockiert ist). Solange das script aktiv ist kann ich die Datei auch nicht parallel im Explorer löschen "...wird verwendet").
    Kurzform: bekomme Pfad + Name in FileOpenDialog, mache später FileDelete( $pfad & $name ) - geht nicht.
    Habt ihr einen Tipp dazu? ;(

    • Offizieller Beitrag

    Ich nehme mal an das du die Datei , die du mit dem Fileopendialog ausgewählt hast, auch gelesen hast . Also FileOpen ,FileRead oder FileReadLine .., hast du bestimmt benutzt. Hasts die Datei auch wieder mittels FileClose geschlossen ? Wenn nicht funzt FileDelete nicht . Du kannst aber auch dein Script posten, dann kann man dir besser helfen .

  • Hi Raupi,
    danke für eure Antworten. Dass das Beispiel von Jam00 funzt, überrascht mich jetzt.

    ja, ich habe gesondert fileOpen ... FileRead .. und dann auch FileClose gemacht.

    Das script könnte ich schon posten, ist aber auch schon umfangreich geworden. Ich suche noch aweng, falls nötig poste ich dann (einen Teil) vom script.

    schönen Abend noch,
    Roland.

  • Hi Raupi,
    danke für eure Antworten. Dass das Beispiel von Jam00 funzt, überrascht mich jetzt.

    Na ganz einfach: Das Beispiel wählt nur einen Dateinamen aus und öffnet gar keine Datei. Daher kann ich sie auch sofort löschen.


    ja, ich habe gesondert fileOpen ... FileRead .. und dann auch FileClose gemacht.

    Das script könnte ich schon posten, ist aber auch schon umfangreich geworden. Ich suche noch aweng, falls nötig poste ich dann (einen Teil) vom script.

    schönen Abend noch,
    Roland.

    Beispiel
    [autoit]

    $name = FileOpenDialog ("Test","","")
    $fileID = FileOpen($name,0)
    ; FileDelete($name) geht natürlich nicht, die Datei ist offen
    $inhalt = FileRead($fileID)
    ; FileDelete($name) geht natürlich nicht, die Datei ist immer noch offen
    FileClose($fileID)
    FileDelete ($name); hier gehts !

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hi,
    das Problem war nicht, dass das File durch FileOpenDialog gesperrt war (wie ich angenommen hatte, suggeriert ja der Name), sondern dass ich das File schon 100 scriptzeilen vorher mit FileMove umbenannt hatte - dann konnte natürlich das FileDelete das nicht mehr vorhandene File auch nicht löschen .... kommt davon, wenn man in der Nacht scripte schreibt.

    Bis bald mal wieder, fröhliches scripten .... :)