2016-06-09 27 views
1

Wenn ich die folgenden in einer Batch-Datei test genannt:Wie wird eine Zahl von 0 bis 9 in einer Windows-Stapeldatei in eine Datei ohne Leerzeichen nachgestellt?

echo number=0 > file 

und führen Sie es:

> test 
> echo number=0 1> file 

file enthält:

number=0␣ 

Wenn ich ändern test zu:

echo number=1> file 

und führen Sie es:

> test 
> echo number= 1>file 

file enthält:

number= 

Die 1 offenbar als stdouthandle interpretiert wird, was verständlich ist.

Wenn ich test zu ändern:

echo number=0> file 

- und 2-9 jeweils - und führen Sie es:

> test 
> echo number= 0>file 
number= 

die 0 und 2-9 offenbar als nicht interpretiert werden stdouthandles und file ist leer, das ist auch verständlich.

mit:

echo "number=1"> file 

file enthält:

"number=1" 

mit:

echo (number=1)> file 

file enthält:

(number=1) 

Antwort

2

Beim Schreiben die Frage ich die Antwort auf How to avoid writing trailing spaces into text file on redirecting ECHO outputs to a file? gefunden:

Setzen Sie die Umleitung vor dem Befehl wie:

> file echo number=0 

oder, wie von Stephan kommentierte group der komplette Befehl, nicht nur die Argument:

(echo number=0) > file 

(Der Titel Using parenthesis/brackets to group expressions ein bisschen, IMHO vermisst. Es ist zu Gruppe Befehle und Ausdrücke, ist es nicht?)

+2

eine andere Möglichkeit: '(Echo Nummer = 0)> Datei' – Stephan