Inti29 10 Geschrieben 17. Januar 2005 Melden Teilen Geschrieben 17. Januar 2005 ich werd' noch kirre - ich finde dazu einfach nichts... Ich lege über eine Batch temporär Dateien an. Folgendes funktioniert soweit <vorher schon ein paar Zeilen angelegt> ECHO echo Computer \\%%1 wird mit Ping ueberprueft... >> temp.bat aber dann soll folgende Zeile hinzugefügt werden. "%currdir%alive" /Repeat=2 /Timeout=1 %1 > nul Das geht hier nicht: ECHO "%%currdir%%alive" /Repeat=2 /Timeout=1 %%1 > nul >> temp.bat Das Ergebnis der temp.bat ist: "%currdir%alive" /Repeat=2 /Timeout=1 %1 ...es fehlt das "> nul" Anscheinend kann DOS dieses Zeichenkette "> nul" irgendwie nicht verarbeiten und stellt mir das Zeichen nicht dar.. Wie binde ich das Zeichen ein? Inti29(+4) Anhang: test.zip Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Januar 2005 Melden Teilen Geschrieben 17. Januar 2005 Warum schickst Du die Zeichenkette an das Gerät nul? Umlenkung von Ein- und Ausgabe: BEFEHL > DATEI lenkt die Ausgabe auf eine angegebene Datei oder ein Standardgerät (LPT1, CON, PRN oder CONOUTS$) um. C:\DIR > DIR.TXT leitet das Inhaltsverzeichnis von C:\ in die Textdatei DIR.TXT. Dabei wird die Textdatei immer neu erstellt. C:\DIR >> DIR.TXT leitet das Inhaltsverzeichnis von C:\ an das Ende einer vorhandenen Textdatei DIR.TXT oder erstellt diese neu. BEFEHL < DATEI leitet die Daten aus einer Datei in eine Befehlseingabe um. BEFEHL 2> DATEI leitet Fehlermeldungen eines Befehls in die angegebene Datei um. BEFEHL > DATEI 2>&1 leitet die Ausgabe und die Fehlermeldungen in die gleiche Datei um. BEFEHL | BEFEHL leitet die Ausgabe eines Befehls in die Eingabe des nächsten Befehls (Pipe). C:\DIR | MORE leitet das Inhaltsverzeichnis in den MORE-Befehl zur seitenweise Anzeige. http://www.bb-sys.de/bbshell.htm#befehl Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Januar 2005 Melden Teilen Geschrieben 17. Januar 2005 Was da in der Eröffnung geschehen soll, wofür das gut ist, geht mir nicht auf. Ah, ich begreife, da wird eine Batch generiert. Baue die zu Zeichenkette in einer Variablen zusammen! Schicke den Inhalt der Variablen mit Echo in die Batch! set variable=Inhalt echo Variable >> temp.bat Es ist nicht immer einfach. Eventuell bedarf es dazu mehrerer Set-Operationen. Es ist ein Weilchen her, dass ich so etwas gemacht habe. Viel Erfolg Edgar Zitieren Link zu diesem Kommentar
Inti29 10 Geschrieben 17. Januar 2005 Autor Melden Teilen Geschrieben 17. Januar 2005 ECHO Texte dürfen nicht die Zeichen "<", ">" oder "|" enthalten, da diese für Umleitungen/Pipes reserviert sind - soweit bin ich schon... :( Die temp.bat, die generiert wird, wird später von einer anderen Datei aufgerufen und die Zeile, die dann verarbeitet wird muss halt so aussehen: "%currdir%alive" /Repeat=2 /Timeout=1 %1 > nul Geht das irgendwas über ASCII oder so? Inti31 Zitieren Link zu diesem Kommentar
klausk 10 Geschrieben 17. Januar 2005 Melden Teilen Geschrieben 17. Januar 2005 Sonderzeichen wie ">" können mit vorangestelltem "^" ausgegeben werden. "%currdir%alive" /Repeat=2 /Timeout=1 %1 ^> nul Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Januar 2005 Melden Teilen Geschrieben 17. Januar 2005 echo Rock ^& Roll http://www.bb-sys.de/bbshell.htm#befehl Leider funktioniert bei mir set var=Rock ^& Roll echo %var% nicht. Aber der Tipp von klausk funktioniert. Zitieren Link zu diesem Kommentar
Inti29 10 Geschrieben 17. Januar 2005 Autor Melden Teilen Geschrieben 17. Januar 2005 DANKE !!!!!!! @klausk Genau so geht's Inti29(+4) Zitieren Link zu diesem Kommentar
klausk 10 Geschrieben 17. Januar 2005 Melden Teilen Geschrieben 17. Januar 2005 Super, das es geklappt hat und danke für die Rückmeldung :) Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.