Hallo Leute,
Ich suche eine möglichkeit eine Bildschirmausgabe in eine Variable zu speichern.
also z.B. die Ausgabe des folgenden Befehls:
type U:\_temp.log
Die Ausgabe wäre:
Zum Hintergrund:
Ich versuche mir ein Logon-Script zu schreiben, welches mir, je nachdem in welchem Netz ich mich befinde, verschiedene Laufwerke verbindet (da nicht alle Laufwerke in jedem Netz verfügbar sind)
Wenn ich einfach alle Laufwerke da rein schreib und diese nicht Verfügbar sind, so dauert es leider immer ne halbe ewigkeit bis das Script weiter läuft.
Ich habe schonmal ein ähnliches Script gebaut welches je nach Windows Version einen gewissen Programmcode ausführt, nur leider will das hier nicht so richtig funktionieren.
Ursprünglicher Code, welcher funktionierte:
Ich wollte das ganze jetzt so benutzen:
Leider kam dabei immer ein "gefunden" raus :-/
auch wenn der hintere FIND befehl nicht gefunden wird (also wenn es nicht 10.254.... ist)
Ich dachte mir es liegt vielleicht an den beiden FIND befehlen nacheinander das er nicht weiss welcher errorlevel zu welchem FIND gehört.
Also hab ich die Ausgabe erst in eine Datei geleitet, und danach per Type ausgegeben und darin gesucht.... nur leider funktioniert das auch nicht, denn auch hier sagt er mir immer "gefunden".
Siehe Code:
Vielleicht habt Ihr ja eine (andere) Lösung für mich?
Zur Verfügung steht nur Batch bzw Windows standards.
Schon mal vielen Dank für Antworten
Ich suche eine möglichkeit eine Bildschirmausgabe in eine Variable zu speichern.
also z.B. die Ausgabe des folgenden Befehls:
type U:\_temp.log
Die Ausgabe wäre:
Code:
U:\>type _temp.log
Standardgateway . . . . . . . . . : 10.254.120.1
U:\>
Zum Hintergrund:
Ich versuche mir ein Logon-Script zu schreiben, welches mir, je nachdem in welchem Netz ich mich befinde, verschiedene Laufwerke verbindet (da nicht alle Laufwerke in jedem Netz verfügbar sind)
Wenn ich einfach alle Laufwerke da rein schreib und diese nicht Verfügbar sind, so dauert es leider immer ne halbe ewigkeit bis das Script weiter läuft.
Ich habe schonmal ein ähnliches Script gebaut welches je nach Windows Version einen gewissen Programmcode ausführt, nur leider will das hier nicht so richtig funktionieren.
Ursprünglicher Code, welcher funktionierte:
Code:
VER | FIND "Windows 2000" >NUL
if errorlevel 0 GOTO Win2k
Ich wollte das ganze jetzt so benutzen:
Code:
ipconfig | find "Standardgateway" | find "10.254" >NUL
if errorlevel 0 goto gefunden
auch wenn der hintere FIND befehl nicht gefunden wird (also wenn es nicht 10.254.... ist)
Ich dachte mir es liegt vielleicht an den beiden FIND befehlen nacheinander das er nicht weiss welcher errorlevel zu welchem FIND gehört.
Also hab ich die Ausgabe erst in eine Datei geleitet, und danach per Type ausgegeben und darin gesucht.... nur leider funktioniert das auch nicht, denn auch hier sagt er mir immer "gefunden".
Siehe Code:
Code:
@ECHO OFF
ipconfig |find "Standardgateway" > U:\_temp.log
type U:\_temp.log | find "10.254" >NUL
if errorlevel 0 GOTO gefunden
echo Nicht gefunden
goto EOF
:gefunden
echo gefunden
:EOF
pause
Vielleicht habt Ihr ja eine (andere) Lösung für mich?
Zur Verfügung steht nur Batch bzw Windows standards.
Schon mal vielen Dank für Antworten

Zuletzt bearbeitet: