Deutsches AutoHotkey Homepage AutoHotkey Community
Wir helfen uns gegenseitig aus der Patsche
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Datei leeren ohne zu löschen?

 
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe!
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Pumbaa80
Gast





BeitragVerfasst am: Mo Apr 24, 2006 3:24 pm    Titel: Datei leeren ohne zu löschen? Antworten mit Zitat

Gibt es eine einfache Möglichkeit, den Inhalt einer (Text)datei zu entfernen, ohne die Datei selbst zu löschen?
In der Hilfe zu FileAppend steht, man soll erst mal FileDelete ausführen, aber das will ich nicht.
Hintergrund: Wenn eine Datei z.B. vom Desktop gelöscht und wieder erstellt wird, ist das Icon verschoben, und das will ich vermeiden.
Thnx
Pumbaa
Nach oben
BoBo
Gast





BeitragVerfasst am: Mo Apr 24, 2006 3:38 pm    Titel: Antworten mit Zitat

Ich schlage vor du setzt einen Link auf die Zieldatei - weil dessen Position auch bei Änderung der Zieldatei unverändert bleibt, seölbst bei Anwendung von FileAppend/FileDelete oder vice versa.
Nach oben
Pumbaa80
Gast





BeitragVerfasst am: Di Apr 25, 2006 2:41 pm    Titel: Antworten mit Zitat

Naja, ehrlich gesagt finde ich diesen Workaround sehr unschön.

Mir ist jetzt folgendes eingefallen:
Code:
FileAppend,,AHK~Tempfile.tmp
FileMove,AHK~Tempfile.tmp,Textfile.txt,1

Beim Überschreiben wird das Icon nicht verschoben.

Allerdings muss man hier darauf vertrauen, dass noch keine Datei namens AHK~Tempfile.tmp existiert. Oder aber mit Loop,*.tmp auf höllisch umständliche Weise einen noch nicht benutzten Dateinamen ermitteln.

Gruß
Pumbaa
Nach oben
BoBo
Gast





BeitragVerfasst am: Di Apr 25, 2006 4:28 pm    Titel: Antworten mit Zitat

Code:
IfExist, AHK~Tempfile.tmp
   FileDelete, AHK~Tempfile.tmp
FileAppend,,AHK~Tempfile.tmp
FileMove,AHK~Tempfile.tmp,Textfile.txt,1
Und?
Nach oben
Pumbaa80
Gast





BeitragVerfasst am: Mi Apr 26, 2006 2:04 pm    Titel: Antworten mit Zitat

Das Problem ist, dass solche Temp-Dateien, wenn sie existieren, meist einen Sinn haben. Und Löschen könnte unangenehme Folgen haben (z.B. für andere AHK-Skripte, die parallel laufen).
Man braucht also eine Möglichkeit, einen freien Dateinamen zu finden.
Oder man weiß, dass die .TMP nicht anderweitig gebraucht wird.
Nach oben
AGU
Gast





BeitragVerfasst am: Mi Apr 26, 2006 2:19 pm    Titel: Antworten mit Zitat

Und wie wäre es, wenn du einen Loop über die Datei laufen lässt, und einfach jede Zeile mit einem Leerzeichen überschreibst, oder sonst irgendwie leerst?

Oder kann man über die Datei vielleicht ein leere Datei gleichen Namens einfach drüberkopieren - sprich überschreiben?
______________________
Gruß
AGU
Nach oben
BoBo
Gast





BeitragVerfasst am: Mi Apr 26, 2006 5:48 pm    Titel: Antworten mit Zitat

Zitat:
Oder man weiß, dass die .TMP nicht anderweitig gebraucht wird
Eben. Dann schreib ne instant temp Rolling Eyes Smile
Code:
MySpecific = %A_Now%
FileAppend,,%MySpecific%.tmp
FileMove,%MySpecific%.tmp,Textfile.txt,1
FileDelete, %MySpecific%.tmp
Nach oben
Pumbaa80
Gast





BeitragVerfasst am: So Apr 30, 2006 3:06 pm    Titel: Antworten mit Zitat

Das ist eine sehr gute Idee, danke!

@AGU: Loop ist zu umständlich
Nach oben
Pumbaa80
Gast





BeitragVerfasst am: Mo Mai 08, 2006 2:57 pm    Titel: Antworten mit Zitat

Und um zu verhindern, dass sich zwei laufende Skripte gegenseitig stören, könnte man noch die PID in den Dateinamen einbauen, dann kann wirklich nichts mehr passieren. Also etwa so:
Code:
Process,Exist
TempFile = AHK-%Errorlevel%-%A_Now%.tmp
FileAppend,,%TempFile%
FileMove,%Tempfile%,ZuLeerendeDatei.txt,1
Nach oben
BoBo
Gast





BeitragVerfasst am: Mo Mai 08, 2006 5:47 pm    Titel: Antworten mit Zitat

Das schreit langsam nach Kanonen und Spatzen Wink Mit der PID brauchs dann aber nicht wirklich noch den TimeStamp ... Rolling Eyes
Nach oben
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    AutoHotkey Community Foren-Übersicht -> Ich brauche Hilfe! Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de