steckerleiste 0 Geschrieben 24. Oktober 2014 Autor Melden Teilen Geschrieben 24. Oktober 2014 Also, @ echo off rem Ordner anlegen cd.. cd.. cd temp md Networkinformation rem speichert IPconfig-all Ausgabe in Textdatei Ipconfig -all >c:\temp\Networkinformation\Ipconfig_all.txt rem Speichert Route Print Ausgabe in Textdatei route print >c:\temp\Networkinformation\Route_Print.txt rem Speichert Datum und Zeit in Textdatei echo. | date | find "Aktuell" >> c:\temp\Networkinformation\time.txt echo. | time | find "Aktuell" >> c:\temp\Networkinformation\time.txt rem Speichert die Systeminformationen In Textdatei systeminfo >c:\temp\Networkinformation\systeminfo.txt rem Speichert Ping auf Gateway in Textdatei for /f "tokens=12" %%i in ('ipconfig') do echo %%i for /f "tokens=12" %%i in ('ipconfig^|findstr "Standardgateway"') do echo %%i for /f "tokens=12" %%i in ('ipconfig^|findstr "Standardgateway"') do set Gateway=%%i pause ping %Gateway% >c:\temp\Networkinformation\Ping_Gateway.txt pause Diese Batch, geht in den Ordner Temp und legt den Ordner Netzwerkinformationen an. Danach speichert sie die Ausgaben von Ipconfig -all, Route Print, mit Zeit und Datum jeweils in einer Datei *.txt ab. Danach wird der Gateway gesucht und angepingt. Was die genaue Prozedur ist, kann ich nicht sagen, da das meiste von der GW Geschichte hier aus dem Forum kopiert worden ist. @ Testperson: Ja es waren bis jetzt nur deutschsprachige Systeme. Kann ich das mit dem Delims nutzen um es auch für englische Systeme zu nutzen? MFG Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 24. Oktober 2014 Melden Teilen Geschrieben 24. Oktober 2014 Wenn es den Ordner C:\Temp und darunter so nicht gibt, fällt dein Script auf die Nase. Genau dafür gibt es die Umgebungsvariablen, nutze sie. Zitieren Link zu diesem Kommentar
steckerleiste 0 Geschrieben 24. Oktober 2014 Autor Melden Teilen Geschrieben 24. Oktober 2014 das ist so nicht richtig. den temp ordner gibt es (bei uns standardmäßig) immer. wenn du bei C:/ angekommen bist und wieder cd.. eingibst dann sagt er nur geht nicht, das script macht dann aber direkt weiter mit md Netzwerkinformationen. Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 24. Oktober 2014 Melden Teilen Geschrieben 24. Oktober 2014 Zu Deiner Frage "Verbesserungsvorschläge?": Powershell ist also keine Alternative für Dich? ... is ja inzwischen nicht mehr so, dass das was sooo Neues wäre ;) Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 24. Oktober 2014 Melden Teilen Geschrieben 24. Oktober 2014 rem Ordner anlegen cd.. cd.. Kennst Du "cd \"? cd temp ...oder gleich "cd \temp"? Noch besser: "pushd %temp%" - und am Ende dann "popd". rem speichert IPconfig-all Ausgabe in Textdatei Ipconfig -all >c:\temp\Networkinformation\Ipconfig_all.txt Warum Du hier den Pfad noch mal reinschreibst, in den Du oben schon gewechselt bist, weißt nur Du allein :-) echo. | date | find "Aktuell" >> c:\temp\Networkinformation\time.txt echo. | time | find "Aktuell" >> c:\temp\Networkinformation\time.txt Wie wär's stattdessen mit "echo %date% %time%>>xyz.txt"? for /f "tokens=12" %%i in ('ipconfig') do echo %%i for /f "tokens=12" %%i in ('ipconfig^|findstr "Standardgateway"') do echo %%i Warum gibst Du das erst mal auf dem Bildschirm noch aus statt einfach nur das Gateway zu suchen? for /f "tokens=12" %%i in ('ipconfig^|findstr "Standardgateway"') do set Gateway=%%i Wie schon geschrieben: Funktioniert garantiert nur auf einem deutschen System... Da es i.d.R. aber nur eine Zeile mit "gateway" gibt, wäre folgendes wohl die bessere Lösung - wenn es denn ein Batch sein muß: for /f "delims=:" %i in ('ipconfig ^| find /i "gateway"' ) do set GWIP=%j & set GWIP=%GWIP: =% Geht in deutsch und englisch und liefert in %GWIP% die gefundene IP-Adresse ohne Leerzeichen zurück. Für Batchverwendung dann bitte %%i und %%j statt %i und %j. Und wenn es immer deutsch ist und ggf. mehrere Interfaces mit Gateway gibt, dann halt doch "standardgateway" statt nur "gateway". Was willst Du mit dem ganzen Konstrukt eigentlich erreichen? Also "was ist die Aufgabe"? Zitieren Link zu diesem Kommentar
steckerleiste 0 Geschrieben 24. Oktober 2014 Autor Melden Teilen Geschrieben 24. Oktober 2014 (bearbeitet) Probiere ich mal aus. Zweck ist folgender: Wir haben viele Server, Rechner und andere Windowssysteme. Wir sind international tätig. Manche Systeme haben noch WinXP. Dies dient einfach dazu, alles erforderlichen Infos zu sammeln, wenn es irgendwo Probleme gibt. Kollegen sind im Ausland unterwegs und benötigen dann meist schnell Support. Um dann Themen wie Verkabelung, Netzwerkinfrastrucktur und Ip Konfig direkt auszuschließen, möchte ich das alles per Batch machen. WinXP kennt meiner Meinung nach keine Powershell. for /f "delims=:" %%i in ('ipconfig ^| find /i "gateway"' ) do set GWIP=%%j & set GWIP=%GWIP: =% ist die Variable jetzt "GWIP", "%GWIP: =%" ? will mir die mit echo ausgeben echo %GWIP% ? mit echo %GWIP% bekomme ich nämlich: echo = ausgegeben bearbeitet 24. Oktober 2014 von steckerleiste Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 24. Oktober 2014 Melden Teilen Geschrieben 24. Oktober 2014 das ist so nicht richtig. den temp ordner gibt es (bei uns standardmäßig) immer. wenn du bei C:/ angekommen bist und wieder cd.. eingibst dann sagt er nur geht nicht, das script macht dann aber direkt weiter mit md Netzwerkinformationen. Es ist und bleibt unsauber. Ich mußte schon oft genug solche Krücken wieder zum laufen bringen, also benutze das, was das OS bereits für dich vorhält. Zitieren Link zu diesem Kommentar
steckerleiste 0 Geschrieben 24. Oktober 2014 Autor Melden Teilen Geschrieben 24. Oktober 2014 wie bekomme ich die denn da rein?und was ist das für ein Fall, wenn die Systemvariable nicht bei allen Systemen so ist? Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 24. Oktober 2014 Melden Teilen Geschrieben 24. Oktober 2014 %temp% gibt es immer und ist immer schreibbar. Da mußt Du nix "reinbekommen". mit echo %GWIP% bekomme ich nämlich: echo = Mein Fehler, da fehlt "tokens"... for /f "tokens=1,* delims=:" %i in ('ipconfig ^| find /i "gateway"' ) do set GWIP=%j & set GWIP=%GWIP: =% Zitieren Link zu diesem Kommentar
steckerleiste 0 Geschrieben 24. Oktober 2014 Autor Melden Teilen Geschrieben 24. Oktober 2014 (bearbeitet) Also, das mit dem tokens geht, nur habe ich das & set GWIP=%GWIP: =% raus genommen, und ping %GWIP% genommen. Funktioniert so wie ich das möchte.... mit %TEMP% komme ich aber nicht dahin wo ich hin möchte... siehe dazu bitte im Anhang ich möchte nicht nach appdata\temp sondern nach c:/temp LG bearbeitet 24. Oktober 2014 von steckerleiste Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 24. Oktober 2014 Melden Teilen Geschrieben 24. Oktober 2014 mit %TEMP% komme ich aber nicht dahin wo ich hin möchte... siehe dazu bitte im Anhang ich möchte nicht nach appdata\temp sondern nach c:/temp Und weshalb muss es C:\Temp sein? Was ist daran anders? Soll es Benutzer übergreifend sein? Wenn du/ihr eine einheitliche Verzeichnisstruktur dafür braucht/haben wollt, dann leg sie per Script an. Zuerst prüfen ob schon alles vorhanden ist, wenn nein, anlegen. Zitieren Link zu diesem Kommentar
steckerleiste 0 Geschrieben 24. Oktober 2014 Autor Melden Teilen Geschrieben 24. Oktober 2014 Und weshalb muss es C:\Temp sein? Was ist daran anders? Soll es Benutzer übergreifend sein? Wenn du/ihr eine einheitliche Verzeichnisstruktur dafür braucht/haben wollt, dann leg sie per Script an. Zuerst prüfen ob schon alles vorhanden ist, wenn nein, anlegen. Letzten Endes hast du recht. Jedoch sind die Mitarbeiter daran gewöhnt, alles in c:/temp zu schieben, finden, usw.. da bietet es sich an den ordner dahin zu legen. ist einfach zur gewohnheit geworden ;) Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 24. Oktober 2014 Melden Teilen Geschrieben 24. Oktober 2014 Aha - und in C:\Temp schreibt jeder nach Lust und Laune rein? Stichwort "Trennen von Benutzerdaten"... Das mit "set GWIP=%GWIP: =%" dient nur dazu, führende und folgende Leerzeichen zu entfernen - damit ist die IP wirklich nur noch die IP und kein Text mehr drum herum. Fürs Anpingen allerdings egal :cool: Zitieren Link zu diesem Kommentar
steckerleiste 0 Geschrieben 24. Oktober 2014 Autor Melden Teilen Geschrieben 24. Oktober 2014 Nicht jeder nur Inbetriebnahme. Die wissen was sie da machen also ist es egal. Und ja soll von jeden Nutzer was rein. Xd ihr habt mir hier gut geholfen, danke euch :) Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 25. Oktober 2014 Melden Teilen Geschrieben 25. Oktober 2014 Letzten Endes hast du recht. Jedoch sind die Mitarbeiter daran gewöhnt, alles in c:/temp zu schieben, finden, usw.. da bietet es sich an den ordner dahin zu legen. ist einfach zur gewohnheit geworden ;) Ganz schlechte Angwohnheit. Wenn der *normale* Benutzer da nichts verloren hat, dann lasst doch lieber das Verzeichnis verteckt und benennt es vernünftig. Es gibt viele die solche Temp-Verzeichniss gerne mal leeren, und dann? Wenn es nur für euch Admins sein soll, dann benenn ihn um und versteck ihn. ;) 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.