String Formatierung in Batch Datei
Ich möchte mittels Batch einige Programme auf allen PCs im Netzwerk ausführen, mach ich mit PSexec, haut auch hin.
Derzeit PING ich die PCs alle noch einmal, damit er nicht erst versucht, auf Offline-PCs zu arbeiten.
Dieser 1 sek. lange PING ist mir auch noch zu lang(bei einigen 100 PCs), drum hab ich mit net view alle PCs anzeigen lassen, und das drumherum schon mal weg geschmissen.
echo.
net view >> NETLIST2.txt
FINDSTR \\ NETLIST2.txt >> NETLIST.txt
PAUSE
Ergebnis:
\\PC1
\\PC2
\\PC3
...
und diese 2 \\ will ich auch noch weg kriegen, damit ich dann eine Liste
PC1
PC2
PC3
hab, und auf die gleich ohne pingen (oder vl doch noch mal vorsorglich pingen) zugreifen kann
Darum, wie les ich aus der Datei die Zeilen aus, mach die ersten zwei Symbole weg und schreib das in ne neue Datei.
So etwa hab ichs mir vorgestellt,
for /f %%I in (netlist.txt) do (
set %%I = %I:~2,10%
echo %%I >> netlist.txt
)
bring ich aber nicht zusammen
Derzeit PING ich die PCs alle noch einmal, damit er nicht erst versucht, auf Offline-PCs zu arbeiten.
Dieser 1 sek. lange PING ist mir auch noch zu lang(bei einigen 100 PCs), drum hab ich mit net view alle PCs anzeigen lassen, und das drumherum schon mal weg geschmissen.
echo.
net view >> NETLIST2.txt
FINDSTR \\ NETLIST2.txt >> NETLIST.txt
PAUSE
Ergebnis:
\\PC1
\\PC2
\\PC3
...
und diese 2 \\ will ich auch noch weg kriegen, damit ich dann eine Liste
PC1
PC2
PC3
hab, und auf die gleich ohne pingen (oder vl doch noch mal vorsorglich pingen) zugreifen kann
Darum, wie les ich aus der Datei die Zeilen aus, mach die ersten zwei Symbole weg und schreib das in ne neue Datei.
So etwa hab ichs mir vorgestellt,
for /f %%I in (netlist.txt) do (
set %%I = %I:~2,10%
echo %%I >> netlist.txt
)
bring ich aber nicht zusammen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 125274
Url: https://administrator.de/contentid/125274
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
12 Kommentare
Neuester Kommentar
also, ich wurde die unix-tools nehmen
das sind programme aus dem unix bereich die auf windows portiert wurden
die programme sind freeware, meiner meining nach wesentlich benutzerfreundlicher und maechtiger als windows bordmittel
aus der sammlung brauchst du:
cat und sed
cat NETLIST2.txt|sed s/\\\\// > NETLIST.txt
hab das gerade ausprobiert, dunktioniert wunderbar
das sind programme aus dem unix bereich die auf windows portiert wurden
die programme sind freeware, meiner meining nach wesentlich benutzerfreundlicher und maechtiger als windows bordmittel
aus der sammlung brauchst du:
cat und sed
cat NETLIST2.txt|sed s/\\\\// > NETLIST.txt
hab das gerade ausprobiert, dunktioniert wunderbar
Servus,
ich versteh nicht so ganz - wo das Problem liegt. - bzw. sehe ein anders Problem..
Hat der Rechner eine Beschreibung - taucht die in der Netlist auch auf.
Anstatt die For Schleife für das filtern der netlist zu nehmen - würde ich - wenn schon - die for Schleife für das Psexec nehmen.
Denn Psexec - will wiederum den führenden \\ haben.
Aber selbst bei "meinen" deutlich mehr als 100 Clients - nehme ich ein "führendes" if exist computer\c$
- denn weder das erfolgreiche Pingen oder das die Kiste in einem Netzwerk Cache noch gelistet wird - hat nix zu bedeuten.
gruß
ich versteh nicht so ganz - wo das Problem liegt. - bzw. sehe ein anders Problem..
Hat der Rechner eine Beschreibung - taucht die in der Netlist auch auf.
Anstatt die For Schleife für das filtern der netlist zu nehmen - würde ich - wenn schon - die for Schleife für das Psexec nehmen.
Denn Psexec - will wiederum den führenden \\ haben.
Aber selbst bei "meinen" deutlich mehr als 100 Clients - nehme ich ein "führendes" if exist computer\c$
- denn weder das erfolgreiche Pingen oder das die Kiste in einem Netzwerk Cache noch gelistet wird - hat nix zu bedeuten.
gruß
?
nun hab ich mir ein Herz genommen und meinen "sonst üblichen" Bauer Stall Hallo Spruch - verkniffen.
Und nun ist das Problem kommentarlos gelöst?
schade, das wir nun alle die Kristallkugel wieder aus dem Picknickkoffer nehmen müssen - um zu raten - welches der beiden Schweine nun das 5 Mark Stückerl bekommen hat...
nun hab ich mir ein Herz genommen und meinen "sonst üblichen" Bauer Stall Hallo Spruch - verkniffen.
Und nun ist das Problem kommentarlos gelöst?
schade, das wir nun alle die Kristallkugel wieder aus dem Picknickkoffer nehmen müssen - um zu raten - welches der beiden Schweine nun das 5 Mark Stückerl bekommen hat...
sagt / schreibt wer?
Schonmal einen Rechner heruntergefahren und 1 minute später net view laufen lassen?
Auf welchen Rechner überhaupt - dem DNS?
Sorry - aber vielleicht bin ich wirklich auf dem Holzweg....
Servus bastla,
Nur der Vollständigkeit halber (und ohne "net view" zu hinterfragen ) die Variante ohne Zusatztools:
for /f "delims=\" %%i in ('net view^|findstr "\\\\"') do echo %%i
genau das ist es, was ich am Administrator Forum so sehr schätze.
Egal, wie - jedes (ordentlich geschildertes) Problem wird hier ordentlich gelöst.
Grüße
bastla
P.S.: Pingen sollte für "psexec" eigentlich nicht nötig sein (siehe "-n") ...
Pss: Ich vermute mal, wenn es nicht der gewaltige Zeitbedarf vom Ping gewesen wäre - irgendwoher (Anleitung /proof of Concept/ Softwareverteilung via Psesex?) hat jemand herausbekommen, das eine Computerliste fürs Psexec gebraucht wird.bastla
P.S.: Pingen sollte für "psexec" eigentlich nicht nötig sein (siehe "-n") ...
Gruß
A propos proof-of-concept....
bei mir am CMD-Prompt klappt neben der Backslash-Verdoppelungsvariante auch ein
Mein ja nur.... da hab ich nicht so viele Nachfragen von meinen blutjungen rothaarigen Praktikantinnen...
Schönes Wochenende
Biber
bei mir am CMD-Prompt klappt neben der Backslash-Verdoppelungsvariante auch ein
for /f "delims=\" %i in ('net view^|findstr /C:"\\"') do @echo %i
Mein ja nur.... da hab ich nicht so viele Nachfragen von meinen blutjungen rothaarigen Praktikantinnen...
Schönes Wochenende
Biber
@Biber
Mit "\\\\" schaut's einfach interessanter aus (aber das Suchen nach nur einem "\" in der Zeile sollte für diesen Fall natürlich auch genügen) ...
Auch Dir ein schönes Wochenende
bastla
P.S.:
Mit "\\\\" schaut's einfach interessanter aus (aber das Suchen nach nur einem "\" in der Zeile sollte für diesen Fall natürlich auch genügen) ...
Auch Dir ein schönes Wochenende
bastla
P.S.:
... da hab ich nicht so viele Nachfragen von meinen blutjungen rothaarigen Praktikantinnen...
Wie, Du magst mit denen nicht (über Batches) reden?
@bastla
Meine blutjungen rothaarigen Praktikantinnen waren schon heute vormittag fieberhaft am Suchen nach den Zeilen "Call :buddies %*" , "goto :Weekend" und "Exit"
Die kann ich Freitags für Deine schrägen Lösungen nicht so recht begeistern.
Schönes Wochenende auch Dir!
Biber
P.S. Und natürlich auch allen Nicht-Blutjungen und Nicht-Rothaarigen.
Meine blutjungen rothaarigen Praktikantinnen waren schon heute vormittag fieberhaft am Suchen nach den Zeilen "Call :buddies %*" , "goto :Weekend" und "Exit"
Die kann ich Freitags für Deine schrägen Lösungen nicht so recht begeistern.
Schönes Wochenende auch Dir!
Biber
P.S. Und natürlich auch allen Nicht-Blutjungen und Nicht-Rothaarigen.