Strings auslesen mit batch

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Halloweenracer, 20. Juni 2008 .

  1. 20. Juni 2008
    Hallo,

    ich habe da ein Script in Batch... Das funktioniert einwandfrei. Es soll ipconfig /all ausführen und bestimmte Ergebnisse in ne txt schreiben. Hier mal das Script:

    Code:
    @echo off
    SETLOCAL
    
    @SET LOG=%COMPUTERNAME%.log
    @ECHO. >%LOG%
    rem @ECHO. >>%LOG%
    @ECHO Daten des Rechners %COMPUTERNAME% >>%LOG%
    @ECHO. >>%LOG%
    @ECHO Datum : %DATE% >>%LOG%
    @ECHO Zeit : %TIME% >>%LOG%
    @ECHO Computername : %COMPUTERNAME% >>%LOG%
    @ECHO Aktueller User : %USERNAME% >>%LOG%
    @ipconfig /all | findstr /i /C:"Physikalische Adresse" >>%LOG%
    @ipconfig /all | findstr /i /C:"IP-Adresse" >>%LOG%
    @ipconfig /all | findstr /i /C:"Subnetzmaske" >>%LOG%
    @ipconfig /all | findstr /i /C:"Standardgateway" >>%LOG%
    @ipconfig /all | findstr /i /C:"DNS-Server" >>%LOG%
    @ipconfig /all | findstr /i /C:"Primäres DNS-Suffix" >>%LOG%
    @ECHO. >>%LOG%
    
    rem @NOTEPAD.EXE %LOG%
    
    ENDLOCAL
    Das Ergebnis sieht so hier aus:

    Code:
     
    Daten des Rechners PRIVAT-BCD401FF 
     
    Datum : 20.06.2008 
    Zeit : 15:53:04,18 
    Computername : PRIVAT-BCD401FF 
    Aktueller User : foo bar 
     Physikalische Adresse . . . . . . : 00-3X-60-CD-5A-F3
    
     Physikalische Adresse . . . . . . : 00-6U-77-19-B3-3E
    
     IP-Adresse. . . . . . . . . . . . : 192.168.1.2
    
     Subnetzmaske. . . . . . . . . . . : 255.255.255.0
    
     Standardgateway . . . . . . . . . : 192.168.1.1
    
     DNS-Server. . . . . . . . . . . . : 192.168.1.1
    
     Primäres DNS-Suffix . . . . . . . : 
    
     
    
    Es soll aber so aussehen:

    Code:
    Daten des Rechners PRIVAT-BCD401FF 
    
    Datum : 20.06.2008 
    Zeit : 15:53:04,18 
    Computername : PRIVAT-BCD401FF 
    Aktueller User : foo bar 
    00-3X-60-CD-5A-F3
    00-6U-77-19-B3-3E
    192.168.1.2
    255.255.255.0
    192.168.1.1
    192.168.1.1
    hier_dns_suffix_den_ich_grad_net_habe
    Nur ich weiß nicht, wie ich es umsetzen soll

    Danke schonmal für weitere Ideen

    Mfg Halloweenracer
     
  2. 20. Juni 2008
    AW: Strings auslesen mit batch

    Code:
    FOR /F "tokens=14,*" %%i in ('ipconfig^|find "IP Address"') DO set IP=%%j
    oder
    Code:
    FOR /F "tokens=14,*" %%i in ('ipconfig^|find "IP Address"') DO echo %%j >> dd.txt
    for ist wirklich sehr mächtig, musst natürlich für die anderen sachen auch noch anpassen...

    hilfe:
    for /?
     
  3. 20. Juni 2008
    AW: Strings auslesen mit batch

    Huhu,

    also die hilfe von for habe ich schon genutzt, aber ich habe immer nur alles löschen können, was hinter dem ersten Wort stand... Deswegen habe ich hier mal nachgefragt, aber ich danke dir auf alle Fälle

    //

    muss ich das an einer bestimmten Stelle in der Batch einfügen? Es klappt nämlich irgendwie nicht...

    Mfg Halloweenracer
     
  4. 20. Juni 2008
    AW: Strings auslesen mit batch

    ich hab ein englisches windows und bei mir sieht die zeile so aus, klappt perfekt, wie gesagt du musst es anpassen!

    Code:
    IP Address. . . . . . . . . . . . : 192.168.0.16
     
  5. 20. Juni 2008
    AW: Strings auslesen mit batch

    Hoi,

    ja, das mit dem Anpassen hast du ja gesagt

    Code:
    @echo off
    SETLOCAL
    
    @SET LOG=%COMPUTERNAME%.log
    @ECHO. >%LOG%
    rem @ECHO. >>%LOG%
    @ECHO Daten des Rechners %COMPUTERNAME% >>%LOG%
    @ECHO. >>%LOG%
    @ECHO Datum : %DATE% >>%LOG%
    @ECHO Zeit : %TIME% >>%LOG%
    @ECHO Computername : %COMPUTERNAME% >>%LOG%
    @ECHO Aktueller User : %USERNAME% >>%LOG%
    FOR /F "tokens=14,*" %%i in ('ipconfig^|find "IP-Adresse"') DO set IP=%%j
    @ipconfig /all | findstr /i /C:"Physikalische Adresse" >>%LOG%
    @ipconfig /all | findstr /i /C:"IP-Adresse" >>%LOG%
    @ipconfig /all | findstr /i /C:"Subnetzmaske" >>%LOG%
    @ipconfig /all | findstr /i /C:"Standardgateway" >>%LOG%
    @ipconfig /all | findstr /i /C:"DNS-Server" >>%LOG%
    @ipconfig /all | findstr /i /C:"Primäres DNS-Suffix" >>%LOG%
    @ECHO. >>%LOG%
    
    rem @NOTEPAD.EXE %LOG%
    
    ENDLOCAL
    So geht es aber nicht...
     
  6. 20. Juni 2008
    AW: Strings auslesen mit batch

    Code:
    FOR /F "tokens=14,*" %%i in ('ipconfig /all^|find "IP-Adresse"') DO echo %%j >> %LOG%
    FOR /F "tokens=14,*" %%i in ('ipconfig /all^|find "Physikalische Adresse"') DO echo %%j >> %LOG%
    
    usw....

    sollte gehen....
     
  7. 21. Juni 2008
    AW: Strings auslesen mit batch

    Hoi,

    danke dir. Nur wenn ich es ausführe, erscheint folgendes:

    //

    Habe gelesen, dass es auch gehen würde, wenn man den String dann ner Variable zuweist und diese dann durch zwei ! anstatt zwei % ausgebit... Aber das geht auch net

    Ich habe aber in der CMD echo on augeführt und es zeigt auch bei echo an, dass es an ist...
    Hier die Batch:

    Code:
    @echo off
    SETLOCAL
    @SET LOG=%COMPUTERNAME%.log
    @ECHO Datum : %DATE% >>%LOG%
    @ECHO Zeit : %TIME% >>%LOG%
    @ECHO Computername : %COMPUTERNAME% >>%LOG%
    @ECHO Aktueller User : %USERNAME% >>%LOG%
    FOR /F "tokens=14,*" %%i in ('ipconfig /all^|find "Physikalische Adresse"') DO echo %%j >> %LOG%
    FOR /F "tokens=14,*" %%i in ('ipconfig /all^|find "IP-Adresse"') DO echo %%j >> %LOG%
    FOR /F "tokens=14,*" %%i in ('ipconfig /all^|find "Subnetzmaske"') DO echo %%j >> %LOG%
    FOR /F "tokens=14,*" %%i in ('ipconfig /all^|find "Standardgateway"') DO echo %%j >> %LOG%
    FOR /F "tokens=14,*" %%i in ('ipconfig /all^|find "DNS-Server"') DO echo %%j >> %LOG%
    FOR /F "tokens=14,*" %%i in ('ipconfig /all^|find "Primäres DNS-Suffix"') DO echo %%j >> %LOG%
    rem @NOTEPAD.EXE %LOG%
    ENDLOCAL
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.