Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

Batch datei "Copy con Nul"

Chrissi10 / 5 Antworten / Baumansicht Nickles

Tach Gemeinde
Ich habe folgendes in eine Batch datei geschrieben "copy con nul" (ohne Gänsefüsschen) um auszuprobieren was passiert. Ich habe in einer I-seite davon gelesen, unteranderen stand da dass es ziemlich übel wäre. ich dachte mir: soschlimm kann dass doch nicht sein die entstehende datei griegst du schon wieder weg.

Als ich die datei ausführte passirte eigentlich garnichts (dachte ich jedenfalls. Dann wollte ich eine datei nul.txt erstellen doch ich bekam eine fehlermeldung. (überschreiben nicht möglich) dann wollte ich mit dem Attrib-Befehl die datei auf eine andere Attribute setzen (ich dachte sie wäre nur versteckt oder hätte eine system attribute) doch auch dass änderte nichts. Ich habe den Ordner in dem sich die datei befindet gelöcht und neu erstelllt. Anschließend wollte ich zum test wieder eine datei "nul.txt" erstellen (überschreiben nicht mölglich).

Da ich mit meinem Windows latein am ende bin habe ich es mit einer Knoppix-boot-cd versucht. ich finde die datei nicht!!

Was ist da los ? Wer kann helfen ?

PS: ich weiß es war dumm eine batch datei zu erstellen vor der auchnoch gewahrnt wird. Dass braucht ihr mir jetzt nicht vohrhalten. Aus fehlern lernt man !!

bei Antwort benachrichtigen
Andreas42 Chrissi10 „Batch datei "Copy con Nul"“
Optionen

Hi!

Ahhhh, du hast den alten Boris Karloff Klassiker 2Das Grauen aus der MSDOS-Gruft" ausgegraben! ;-)

Kurzform:

CON:
Das ist ein Pseudodevice, dass entweder für die Tastatur (bei Eingaben) oder anstelle von Quelldateien verwendet werden kann. Es kann auch als Ziel genommen werden und enspricht dann dem Bildschirm.

COPY CON test.txt
Damit leitet man die Tastatureingaben in eine Datei um. Alles wa sgetippt wird, wird in der Dartei gespeichert. beenden kann man das AFAIR mit Strg+Z.

COPY test.txt CON
müsste die Datei auf dem Bildschirm ausdrucken.

NUL:
Das ist der alte Müllschlucker. Das verwendet man als Ziel. Was in dieses Gerät kopiert wird verschwindet (und hinterlässt keine Spuren)

COPY text.txt NUL
Kopiert, aber es gibt dann keine Kopie, da die in den Mülleimer bzw. über den PC-Jordan geschickt wird.

OK, alles zusammen:

COPY CON NUL
Dass leitet die Tastatureingaben ins Nichts um. Wenn man das eingibt, dann reagiert die Konsole scheinbar nicht mehr.

OK, warum passiert da bei dir nichts? Nunja, die Sache stammt noch aus einer Zeit, als Multitasking fast noch SF war. ;-) Unter MSDOS gab's genau einen Task und den hat man mit COPY CON NUL gut beschäftigt und falls es dmals noch einen Bug gab' der verhinderte, dass man die Sache mit STRG-Z abbrechnen konnte, dann war's das - der Rechner musste reseted werden und MSDOS neu gebootet. Das dauerte dann bei 360kByte 5 1/4" Disketten seine Zeit. :-D

Unter WinXP passiert bei mir folgendes: ich starte den nklassischen MSDOS-kompatiblen Commandoprozessor über Ausführen (COMMAND nicht CMD). Dann gebe ich "copy con nul" ein und drücke Enter.
Scheinbar passiert nichts und der Cursor springt in die nächste Zeile. Nun kann ich auf der Tastatur tippen, ohne das das Promt wieder erscheint. Die Zeichen werden aber auf dem Bildschirm ausgegeben (ECHO auf CON ist aktiv). Mit Strg+Z (+ Enter) kann ich die Sache abbrechen und es erscheint ("eine Datei kopiert"). Mit der Shell von NJT (CMD) passiert genau das gleiche.

Willst du es etwas härter machen, dann gib vorher "echo off" ein. Dann hast du unter CMD kein Prompt mehr.

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
vr96h Chrissi10 „Batch datei "Copy con Nul"“
Optionen

Hallo chrissi10,
ich gehe mal davon aus, dass du WXP benutzt.
Bei "copy con nul" im Batch wird cmd gestartet, sonst nichts.
Bei "COPY CON: TEST "
Die Tastatureingabe wird in die Datei TEST kopiert. Die Eingabe wird mit Strg-Z(C) beendet.
"CON" bezeichnete unter DOS das Gerät Tastatur.
"NUL" wurde vor allem verwendet um den Schalter /V , verbose (erzählen) ins Nirwana umzuleiten.
"copy a:* c* >nul" gab einfach keine Meldung am Monitor aus.

mfg

bei Antwort benachrichtigen
Chrissi10 vr96h „Hallo chrissi10, ich gehe mal davon aus, dass du WXP benutzt. Bei copy con nul...“
Optionen

Ok soweit ist alles klar
Aber was ist mit dieser datei "NUL" die ich angeblich nicht überschreiben kann ?

bei Antwort benachrichtigen
vr96h Chrissi10 „Ok soweit ist alles klar Aber was ist mit dieser datei NUL die ich angeblich...“
Optionen

Hallo chriss10,
"NUL" ist ein reserviertes Gerät, das kannst du weder löschen noch überschreiben.

mfg

bei Antwort benachrichtigen
Andreas42 Chrissi10 „Ok soweit ist alles klar Aber was ist mit dieser datei NUL die ich angeblich...“
Optionen

Hi!

Ich habe auch irgendwie im Hinterkopf, dass es in uralten DOS-Versionen (MSDOS 3.x?) einen Fehler gab, der irgendwie Probleme bei Stunts wie "copy nul test.txt" führte, ob das heute noch gilt?
Dann gab's Probleme, wenn mit einem Betriebssystem, dass da etwas "freizügiger" war, Dateien mit dem namen der Pseudogeräte (LPT, NUL, usw.) angelegt hat.

Ob da heute noch was aktuell ist, weiss ich nicht.

Hier wird das zum Teil diskuttiert: http://en.wikipedia.org/wiki/DOS

Interessant ist auch das hier: http://blogs.msdn.com/oldnewthing/archive/2003/10/22/55388.aspx

Bis dann
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen