So drucken Sie einen Zeilenumbruch in einer MS-DOS-Skript?
Ich drucken möchte die Ausgabe eines Programms in MS-DOS, also schrieb ich einen .bat-Datei, die sagt:
cls
ruby foo.rb
Aber die Leistung ist - wie es scheint, auf mein Kommando die Eingabeaufforderung sieht wie folgt aus:
c:\workspace>ruby foo.rb
foo output
c:\workspace>
Wollte ich einfügen, um ein newline in die Ausgabe mit MS-DOS, weil ich nicht wollen, zu belasten mein Ruby-code mit irgendetwas nicht mit, was der code tun soll.
Nur Befehle in MS-DOS, die Aussehen wie das, was ich will, sind 'Typ' und 'drucken', aber beide sind für den Druck von Dateien.
Ich habe versucht, erstellen Sie eine Textdatei mit zwei leeren Zeilen und Ausgabe mit Hilfe des 'type' - Befehl, aber es sieht chaotisch aus.
Irgendwelche Ideen wäre geschätzt.
Trotz der ähnlichkeit der Titel, dass ist eine andere Frage. Diese Frage fragt, wie die Ausgabe einer Leerzeile. Die Frage, die Sie verknüpft fragt, wie die Ausgabe zwei Worte, die jeder auf Ihre eigene Linie.
InformationsquelleAutor Bryan Locke | 2009-02-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
echo.
erzeugt eine neue Zeile.Also Ihr Skript sollte wie folgt Aussehen:
Verwenden echo ("anstatt
InformationsquelleAutor John T
wie etwa:
bye
dass upvote ist für den Versuch... 80)
InformationsquelleAutor Edoardo Vacchi
Selbst wenn hier sind 4 Antworten mit der gleichen Spitze zu verwenden
ECHO.
, es ist nicht die beste Lösung!Gibt es zwei Nachteile.
Ist es langsam
ECHO.
ist ~10-mal langsamer als ein normalenecho
Befehl, das ist, weilECHO.
zwingen wird, ein Zugriff auf die FestplatteKann es scheitern
Wenn eine Datei vorhanden ist mit dem Namen
ECHO
(ohne Erweiterung), dann jedeECHO.
- Befehl führt eine Datei nicht gefunden Fehler, statt der echo eine leere Zeile.Aber was können Sie dann tun?
Für eine einfache leere Zeile gibt es viele Möglichkeiten.
Aber manchmal möchten Sie einen sicheren Weg, um echo der Inhalt der variable selbst wenn die variable leer oder enthalten ungerade Inhalte wie
/?
oder\\..\..\windows\system32\calc.exe
.ECHO<character>%variable%
Dann die meisten Befehle werden fehlschlagen, nur
ECHO(
funktioniert in jeder situation.Es sieht ein wenig seltsam, aber es funktioniert und es braucht nicht noch irgendwelche Probleme mit einer schließenden Klammer.
ECHO.
zwingen wird, ein Zugriff auf die Festplatte" wirklich?InformationsquelleAutor jeb
Versuchen, diese
InformationsquelleAutor Alex Reitbort
Verwenden Sie den Befehl echo, gefolgt von einem Punkt anzeigen, um eine neue Zeile in einer MS-DOS-batch-Datei:
InformationsquelleAutor ahockley
Stimme ich mit jeb. "echo(" ist auf jeden Fall schneller und nicht auf eine Datei zugreifen. Probieren Sie es aus und Sie werden für sich selbst wissen. Hier ist ein wenig testen, die Sie vielleicht ausprobieren möchten.
Erstellen Sie eine Datei namens "echo" und im selben Verzeichnis eine test.bat oder test.cmd-Datei haben Sie die folgenden Inhalte in das Skript:
Führen Sie die neu erstellte batch-Datei. Was bekommen Sie? Eine Reihe von Fehlermeldungen, wenn eine Datei "echo" in dem selben Verzeichnis vorhanden.
Löschen Sie nun die "echo" - Datei.
Auf meinem system, es dauerte ungefähr 05 Sekunden von Anfang bis Ende mit dem "echo". Methode aufgrund der Datei-Zugriff stattfindet.
Ersetzen Sie nun alle "echo". in der test-Datei oben mit "echo(" und führen Sie es erneut.
Dauert es ungefähr .01 Sekunden von Anfang bis Ende mit dem "echo(" Anweisung.
Letzten test wieder eine Datei namens "echo" in das gleiche Verzeichnis und führen Sie die batch-ein letztes mal.
Keine Fehlermeldungen.
QED
InformationsquelleAutor ljm13
Ich bin mir nicht klar, was Sie hier wollen, aber vielleicht wird dies helfen.
Wenn Sie möchten, dass die Ausgabe an eine andere Stelle verwenden Sie die dos-Ausgabe "pipe".
Ausgabe wird die Ausgabe des ruby-Befehl, um die out.txt Datei.
Wenn Sie wollen, um die Kontrolle der Ausgabe mit ECHO.
echo.
wie andere haben darauf hingewiesen.InformationsquelleAutor StingyJack