Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ping Ausgabe in Variable schreiben und diese später mit find durchsuchen

Frage Entwicklung Batch & Shell

Mitglied: Nollosch

Nollosch (Level 1) - Jetzt verbinden

03.01.2013, aktualisiert 15:54 Uhr, 3699 Aufrufe, 5 Kommentare

Hallo Profis

Ich suchte und fand einiges, aber nichts davon half mir.

Ich pinge einen Rechner an. Das Ergebniss "Antwort von xx.xx.xx.xx: Bytes=32 Zeit=2ms TTL=124" soll dabei in einer Variablen landen. Diese will ich später nach "TTL=" mit find durchsuchen.

Ich kriege die Syntax aber nicht zusammen.

Ablauf:

Ping host -n2 -w 4000 >var (irgendwie in eine Variable schreiben) | find "TTL=" in var (irgendwie in der Variablen suchen) && goto :next-step

Es geht natürlich auch ohne Variable, aber dann sehe ich die Ping Ausgabe in der Dos-Box, was aber nicht sein soll.
Wenn ich Ping in >nul schicke, sehe ich die Ausgabe zwar nicht, kann es aber auch nicht mehr durchsuchen.

Bin für jede Hilfe dankbar.

Grüße
Mitglied: bastla
03.01.2013 um 16:11 Uhr
Hallo Nollosch!
Wenn ich Ping in >nul schicke, sehe ich die Ausgabe zwar nicht, kann es aber auch nicht mehr durchsuchen.
Dann schicke doch nur das Ergebnis des "find" ins Nirwana:
Ping host -n2 -w 4000|find "TTL=">nul && goto :next-step
Grüße
bastla
Bitte warten ..
Mitglied: Nr60730
03.01.2013, aktualisiert um 17:33 Uhr
moin Bastla,

Zitat von bastla:
Hallo Nollosch!
Wenn ich Ping in >nul schicke, sehe ich die Ausgabe zwar nicht, kann es aber auch nicht mehr durchsuchen.
Dann schicke doch nur das Ergebnis des "find" ins Nirwana:
Ping host -n2 -w 4000|find "TTL=">nul && goto :next-step
Prinzipell ein guter halberAnsatz, aber nein ich bin weder ossi noch ein Schwaebli

das grützt doch in die Greife - obwohl es auf den ersten Blick ......nix anzeigt, wie versprochen, aber warum?

C:\>ping localhost -n2 -w4000|find "TTL" 
 
C:\> 
 
C:\>ping localhost -n2 -w4000 
Ungültiger Wert für die Option -n2. Der Gültige Bereich liegt zwischen 1 und 429 
4967295. 
 
C:\>
da fehlt ein paar Leherzeichen

Um ganze kürzer (eigentlich ist das doch dein Part) zu machen:
 
C:\>for /f "tokens=6" %a in ('ping localhost -n 2 -w 4000^|find "TTL"') do echo 
%a 
 
 :\>echo TTL=128 
TTL=128 
 
 :\>echo TTL=128 
TTL=128 
 
C:\>
Wobei -n 2 und ein echo / oder Set... das könnte eine lange Geburt werden.
Grüße
bastla

Gruß zurück und frohes Neues Jahr
Bitte warten ..
Mitglied: bastla
03.01.2013 um 17:47 Uhr
@ Nr60730
Danke für das Nachreichen des Leerzeichens - aber wozu die Schleifenvariante gut sein soll, habe ich nicht verstanden (da mE Nollosch ja nur wissen wollte, ob überhaupt eines der beiden Pakete angekommen ist, um im Erfolgsfall was auch immer zu tun) ...

Grüße
bastla
Bitte warten ..
Mitglied: Nollosch
07.01.2013, aktualisiert um 14:02 Uhr
@bastla

genial!!!! Danke

Da bin ich nicht drauf gekommen. Ich freu mich!

@Nr60730

Der Code war doch nur zur Veranschaulichung, nicht funktionell.
Bastla hat das schon richtig erkannt. Dir trotzdem auch ein Danke.


Zum Thema: Kann man so eine Ausgabe denn in eine Variable legen um diese später dann weiterzuverwenden (ohne erst in eine .txt zu schreiben o.ä.)?
Bitte warten ..
Mitglied: bastla
07.01.2013 um 15:49 Uhr
Hallo Nollosch!
Kann man so eine Ausgabe denn in eine Variable legen um diese später dann weiterzuverwenden (ohne erst in eine .txt zu schreiben o.ä.)?
Da die Ausgabe ja mehrzeilig ist, unmittelbar nicht - Du könntest aber natürlich das Ergebnis in einer Variablen festhalten
01.
set "OK=" 
02.
ping %host% -n 2 -w 4000|find "TTL=">nul && set "OK=true" 
03.
if defined OK echo %host% hat geantwortet
bzw einen Wert aus einer einzelnen Zeile "mitnehmen", zB
01.
@echo off & setlocal 
02.
for /f "tokens=11 delims=( " %%i in ('ping %host%^|findstr "Verlust"') do set "Verl=%%i" 
03.
echo %Verl% 
04.
::Prozentzeichen entfernen 
05.
setlocal enabledelayedexpansion 
06.
set "Verl=!Verl:%%=!" 
07.
endlocal & set "Verl=%Verl%" 
08.
echo %Verl%
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst Aktueller Besitzer der aktuellen Datei herausfinden und in Variable schreiben (11)

Frage von Peter32 zum Thema Batch & Shell ...

Batch & Shell
gelöst DWORD (Name immer verschieden) eines RegKeys auslesen und in Variable schreiben (2)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrere Ordnernamen auslesen und in eine Variable schreiben (5)

Frage von schmitho zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...