Batch Variablensetzung für echo ohne Zeilenumbruch -Fragen zum Code
set/p=<nul>leer4.txt
Ich habe dazu noch Fragen:
Wie heißt der Name der Variablen, in die nul geleitet wird bzw. gibt es dort eine Variable?
Der Code ist ohne Leerzeichen, ich nehme an wegen der Variablensetzung; gibt es eine Regel zum Setzen von Leerzeichen:
@Biber hat in seinem Batch Tutorial 2 (Workshop Batch for Runaways - Part II - Ein bisschen Handwerkszeug) ziemlich vorne die Ausgabeumleitung mit dir /s Pfad >nul als funktionierend und dir /s Pfad>nul als nicht
funktionierend aufgeführt.
Wenn man eine Zeile ohne Zeilenumbruch ausgeben möchte, verlangt echo ein CarriageReturn. Ich habe von Biber den Kommentar gelesen, dass
es ein Mythos ist, den Rückgabewert von REM zu verwenden (Per Batch (Text-)Datei ohne Text erzeugen). Dennoch wird zum Beispiel Pfad/nul (nicht Pfad\nul) bei älteren OS Versionen verwendet,
sodass ich fragen möchte: was genau ist nul (im Kontext von Pfad/nul) und was ist nul bei Ausgabeumleitungen, wo findet man es, wird es irgendwie
angelegt?
Ich würde mich über eine Antwort freuen. Wenn noch wer weitere Empfehlungen hat, schreibt sie.
LG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 169184
Url: https://administrator.de/contentid/169184
Ausgedruckt am: 25.11.2024 um 15:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo Progfreund!
Ansonsten: Bitte einen konkreten Fall nennen!
oder
ist übrigens egal - die Ausgabe "verwschwindet", soferne es den Pfad gibt, ohnehin, und der Errorlevel wird unabhängig davon gesetzt - allerdings würde ich
verwenden, da so auch die Fehlermeldung bei nicht existentem Pfad unterdrückt wird.
Hinsichtlich der Ausgabeumleitungen bin ich übrigens schon vor längerer Zeit dazu übergegangen, die Umleitung dem Befehl voranzustellen, also etwa:
Abgesehen von der damit entfallenden Frage nach zusätzlichen Leerzeichen nach %Wert% hat das den Nebeneffekt, dass auch ein Inhalt der Variablen %Wert% von 2 korrekt in der Datei landet, was bei
nicht der Fall wäre, da ja dann
daraus entstünde, was zu einem "
auf den Kanal 1 = STDOUT) und einer leeren "Textdatei.txt" führt - in diese würde ja eine Fehlermeldung auf Kanal 2 = STDERR geschrieben werden, der Befehl erzeugt aber keinen Fehler und daher keine Meldung.
Ach ja: Die Schreibweise
wäre zwar gegen die angesprochene Eventualität abgesichert, gibt aber das Leerzeichen nach %Wert% ebenfalls in die Datei aus (womit wir wieder bei "Je weniger, desto gut - zu wenige bringt's aber auch nicht" wären) ...
Grüße
bastla
Wie heißt der Name der Variablen, in die nul geleitet wird bzw. gibt es dort eine Variable?
Es gibt keine Variable, weil die Eingabe ohnehin uninteressant ist - es geht nur darum, die Ausgabe (hier in eine Datei "leer4.txt") ohne abschließendes CrLf zu erzeugen.... die Ausgabeumleitung mit dir /s Pfad >nul als funktionierend und dir /s Pfad>nul als nicht funktionierend aufgeführt.
Ein "dir /s
" finde ich im gesamten Tutorial nicht ...gibt es eine Regel zum Setzen von Leerzeichen
Als Grundregel: Je weniger, desto gut - zu wenige bringt's aber auch nicht ... Ansonsten: Bitte einen konkreten Fall nennen!
dir /s Pfad>nul
dir /s Pfad >nul
dir /s Pfad>nul 2>nul
Hinsichtlich der Ausgabeumleitungen bin ich übrigens schon vor längerer Zeit dazu übergegangen, die Umleitung dem Befehl voranzustellen, also etwa:
>Textdatei.txt echo %Wert%
echo %Wert%>Textdatei.txt
echo 2>Textdatei.txt
echo
" ohne Text (und daher der AusgabeECHO ist eingeschaltet (ON).
Ach ja: Die Schreibweise
echo %Wert% >Textdatei.txt
Grüße
bastla