Wie kann ich die Nummer 2 aus einem Batch-Skript in eine Datei übertragen?
Das funktioniert nicht:
Echo 2>> file.txt
weil 2>>
ist ein spezieller Befehl. :(
windows
batch-file
cmd
echo
io-redirection
user541686
quelle
quelle
Wenig bekannte Funktion: Der Umleitungsoperator kann überall auf der Linie hingehen.
quelle
echo ^2>>file.txt
scheint für mich zu arbeiten.quelle
Nutze die
^
Flucht:quelle
Ja, es ist komisch.
quelle
,;=(
. Dieserecho.hello(you2>>text.txt
scheitertecho.
könnte fehlschlagen, wenn sichecho.
im aktuellen Verzeichnis eine Datei mit dem Namen (keine Erweiterung) befindet. Verwenden Sie diese also besserecho/
...eine andere Methode
quelle
Oder Sie können die verzögerte Erweiterung verwenden
quelle
Wenn Sie ein genaues Schreiben benötigen, verwenden Sie diesen Befehl
Der Befehl von DMan erzeugt einen Zeilenumbruch von 0x0D0A hinter der "2".
quelle
(echo | set /p dummyName="2") > file.txt
( Quelle ) verwenden.< nul set /P ="2" > file.txt
ErrorLevel
1
(call )
!Um eine Zahl ohne Zeilenumbruch in eine Datei zu schreiben, können Sie Folgendes verwenden:
cmd /C set /A "2">file.txt
Dies funktioniert, da
set /A
das (letzte) Ergebnis (ohne Zeilenumbruch) zurückgegeben wird, wenn es im Kontext der Eingabeaufforderung ausgeführt wird (daher direkt ausgeführt wirdcmd.exe
).Wenn Sie trotzdem an der Eingabeaufforderung arbeiten, können Sie einfach Folgendes verwenden:
set /A "2">file.txt
Obwohl Sie dies nicht in einer Batchdatei verwenden können, benötigen Sie das Extra
cmd /C
, um den richtigen Ausführungskontext zu erzwingen.Natürlich kann dies natürlich nur Zahlen oder genau gesagt vorzeichenbehaftete 32-Bit-Ganzzahlen ausgeben.
quelle
Basierend auf dieser Antwort, wenn sich jemand fragt, wie das geht:
ohne qoutes
file.txt
dann machst du es so:Getestet unter Windows Server 2003.
quelle
entkomme dem Charakter '2'
unter Linux:
echo \2>file.txt
in Windows:
echo ^2>file.txt
In Windows funktioniert dies auch
echo.2>file.txt
Kein Leerzeichen zwischen Echo und Punktquelle