hallo, gibt es einen Befehl, mit dem ich den Inhalt einer Datei löschen kann? Will nicht die komplette Datei löschen! Soll halt nur nichts mehr drin stehen
Befehl für auf der Kommandozeile ausführen (-> Windows? Linux? Sonstwas?), oder "Befehl" (eigentlich Funktion) in einer Programmiersprache (welche?)
extern schrieb: > gibt es einen Befehl die Frage ist, was du unter Befehl verstehst. Unter Windows kann man folgende Funktion verwenden https://msdn.microsoft.com/en-us/library/windows/desktop/aa365531(v=vs.85).aspx
Was genau an dem Kommando "rm" oder "del" erfüllt nicht Deine Wünsche?
Unter windows (visual studio) in C. Die datei ist eine Textdatei, die vorher mit fopen geöffnet wird.
Klaus schrieb: > Was genau an dem Kommando "rm" oder "del" erfüllt nicht Deine > Wünsche? Das steht doch in seiner Frage mehr als deutlich drin, warum rm und del nicht geeignet sind.
foo schrieb: > Klaus schrieb: >> Was genau an dem Kommando "rm" oder "del" erfüllt nicht Deine >> Wünsche? > > Das steht doch in seiner Frage mehr als deutlich drin, warum rm und del > nicht geeignet sind. So? Dann ist es ja gut.
extern schrieb: > gibt es einen Befehl, mit dem ich den Inhalt einer Datei löschen kann? nein welche Möglichkeiten hast du ein vollbeschriebenes Blatt Papier oder eine mit Schriftzeichen verzierte Steintafel zu löschen? Das Papier kannst du verbrennen oder die Schriftzeichen zu übermalen. Die Steintafel kannst du zertrümmern oder die Buchstaben übermeißeln bis sie unkenntlich sind. Datei den Inhalt löschen, nur durch überschreiben, siehe Papier.
Datei zum Schreiben öffnen, Nichts ab Dateianfang hineinschreiben. Datei Schliesen
foo schrieb: > Klaus schrieb: >> Was genau an dem Kommando "rm" oder "del" erfüllt nicht Deine >> Wünsche? > > Das steht doch in seiner Frage mehr als deutlich drin, warum rm und del > nicht geeignet sind. Nein, das steht da nicht. Es ist nicht klar, warum er die Datei nicht löschen will. Wenn nachher eine leere Datei mit dem selben Namen da sein muß, würde ich sie einfach löschen und wieder neu als leere Datei anlegen. Ob das eine Option ist, bleibt unklar.
extern schrieb: > Unter windows (visual studio) in C. > > Die datei ist eine Textdatei, die vorher mit fopen geöffnet wird. fopen -> stdio -> wähle die Lösung die hier unter "without Posix" steht: http://stackoverflow.com/questions/13755516/is-there-a-guaranteed-and-safe-way-to-truncate-a-file-from-ansi-c-file-pointer In Kurzform, du machst freopen auf dein FILE*, mit "w" ("Truncate file to zero length") als Mode.
Rolf Magnus schrieb: > Es ist nicht klar, warum er die Datei nicht löschen will. Wenn nachher > eine leere Datei mit dem selben Namen da sein muß, würde ich sie einfach > löschen und wieder neu als leere Datei anlegen. Ob das eine Option ist, > bleibt unklar. das will er nicht, warum ist egal. Bei neu anlegen gehen auch rechte und Eigenschaften verloren. Joachim B. schrieb: > extern schrieb: >> gibt es einen Befehl, mit dem ich den Inhalt einer Datei löschen kann? > > nein > > welche Möglichkeiten hast du ein vollbeschriebenes Blatt Papier oder > eine mit Schriftzeichen verzierte Steintafel zu löschen? zum glück sind Computer etwas schlauer als ein Papier und können das.
Lutz H. schrieb: > Datei zum Schreiben öffnen, > Nichts ab Dateianfang hineinschreiben. > Datei Schliesen hat geklappt, danke!
Hallo Rolf, Rolf Magnus schrieb: > Es ist nicht klar, warum er die Datei nicht löschen will. Wenn nachher > eine leere Datei mit dem selben Namen da sein muß, würde ich sie einfach > löschen und wieder neu als leere Datei anlegen. Das ist dann aber nicht atomar. Liebe Grüße, Karl
Peter II schrieb: > zum glück sind Computer etwas schlauer als ein Papier und können das. Computer und schlau? wusste ich nicht, erzähle mehr darüber und man findet den Inhalt auf der Platte nie wieder? Selbst wenn die Datei leer wäre ist der ehemalige Inhalt i.d.R noch eine Weile auf der Platte. Warum gibt es dann Shredder Programme um das sicher zu überschreiben, also überflüssiger SchnickSchnack für Dumme.
Joachim B. schrieb: > und man findet den Inhalt auf der Platte nie wieder? wer hat das behauptet? > Selbst wenn die Datei leer wäre ist der ehemalige Inhalt i.d.R noch eine > Weile auf der Platte. wenn man so argumentiert, kann man auch sagen man kann keine Daten löschen. Wenn es eine SSD ist, ist es sogar recht wahrscheinlich das der Inhalt wirklich gelöscht wird
Karl Käfer schrieb: > Rolf Magnus schrieb: >> Es ist nicht klar, warum er die Datei nicht löschen will. Wenn nachher >> eine leere Datei mit dem selben Namen da sein muß, würde ich sie einfach >> löschen und wieder neu als leere Datei anlegen. > > Das ist dann aber nicht atomar. Klassiker, syslog. Das Ding wird immer groesser und der Plattenspeicher wird knapp, kiste muss aber weiterlaufen. Filehandler einer neuerstellten zwar gleichnamigen Datei ist ja ein anderer. Programme die ihre meldungen da reinschreiben laufen wollen ins Leere.
Peter II schrieb: > wenn man so argumentiert, kann man auch sagen man kann keine Daten > löschen. sagte ich doch :p Joachim B. schrieb: > extern schrieb: >> gibt es einen Befehl, mit dem ich den Inhalt einer Datei löschen kann? > > nein
??? schrieb: > Fpga Kuechle schrieb: >> cat /dev/null/ > datei #wenn ich mich recht erinnere > > geht kuerzer, > >> datei http://discuss.extremetech.com/forums/1004427150/ShowThread.aspx http://superuser.com/questions/849413/why-would-you-cat-dev-null-var-log-messages http://blog.commandlinekungfu.com/2009/04/episode-19-clearing-contents-of-file.html MfG,
Probiers, "> filename" geht bei allen bash-artigen. root@box:$tail -2 /var/log/syslog Jun 24 21:28:39 box kernel: eth2: Oversized Ethernet frame spanned multiple buffers, entry 0x19 length 1518 status 05ee8d00! Jun 24 21:28:39 box kernel: eth2: Oversized Ethernet frame eccf1190 vs eccf1190. root@box:$> /var/log/syslog root@box:$tail -2 /var/log/syslog root@box:$
extern schrieb: >gibt es einen Befehl, mit dem ich den Inhalt einer Datei löschen kann? >Will nicht die komplette Datei löschen! Soll halt nur nichts mehr drin >stehen Mit einem Texteditor eine Leere Datei abspeichern, und dann im Befehlsfenster folgendes eingeben. Type Leerdatei.TXT > IrgendEineDatei.XYZ Danach ist IrgendEineDatei.XYZ leer.
So geht das unter DOS bzw. dem Windows-Kommandozeilenprozessor:
1 | echo. > datei.txt |
Wichtig ist hierbei der Punkt nach "echo".
Joachim B. schrieb: > extern schrieb: >> gibt es einen Befehl, mit dem ich den Inhalt einer Datei löschen kann? > > nein Natürlich geht das. Unter Unix/Linux z.B. so: echo -n > datei.txt oder cat /dev/null > datei.txt oder einfach nur > datei.txt wahrscheinlich noch 100 andere Möglichkeiten....
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.