Top-Themen

Aktuelle Themen (A bis Z)

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

Auslesen eines Strings aus einer Datei, diesen als Variable setzen und dann mit einer anderen Variable kombinieren - Wo liegt der Fehler?

Mitglied: DarkBrummer

DarkBrummer (Level 1) - Jetzt verbinden

10.02.2011 um 16:35 Uhr, 3227 Aufrufe, 6 Kommentare

Hi Zusammen, ich versuche gerade eine Batch zu erstellen die mir das Leben etwas erleichtern soll.
Und nun sitze ich schon viel zu lange davor, habe eigentlich keine Ahnung von Batchgeschichten...

Es handelt sich dabei um folgendes:

REM Erstelle eine Datei namens pinglog.txt
echo PingAlot > pinglog.txt

REM definiere Umgebungsvariable b
SET b=.bla.domäne.bla

REM Schleife, hole dir aus der Datei Hostnames.txt einen Namen (%%a), und pinge die Komibnation aus dem geholten namen und der Umgebungsvariable, dann filtere und schreibs in die pinglog.txt
FOR /F "tokens=1*" %%a IN (Hostnames.txt) DO ping -n 1 %a%%b% | findstr [ >> pinglog.txt

Soweit mein Gedankengang.
Leider lässt cmd die variable %%a immer aus. und verwendet nur die %%b,
Aber nur inerhalb der Schleife, warum?

Vielen Dank!
lg
DarkBrummer
Mitglied: bastla
10.02.2011 um 16:37 Uhr
Hallo DarkBrummer und willkommen im Forum!

Gib doch der Variablen %%a (bzw dem Interpreter) eine Chance und schreibe sie in
ping -n 1 %a%%b%
auch so, wie sie wirklich heißt ...

Grüße
bastla
Bitte warten ..
Mitglied: DarkBrummer
10.02.2011 um 16:55 Uhr
Hi Bastla, erstmal danke für die schnelle Antwort
Habe es auf deinen Rat hin geändert:

echo PingAlot > pinglog.txt
SET b=.bla.domain.bla.bla
FOR /F "tokens=1*" %%a IN (Hostnames.txt) DO ping -n 1 %a%%b% | findstr [ >> pinglog.txt


Aber leider habe ich nach wie vor folgende Ausgabe:

Y:\Mei Zeig\Admin>pingAlot3.bat

Y:\Mei Zeig\Admin>echo PingAlot 1>pinglog.txt

Y:\Mei Zeig\Admin>SET b=.bla.domain.bla.bla

Y:\Mei Zeig\Admin>FOR /F "tokens=1*" %a IN (Hostnames.txt) DO ping -n 1 .bla.domain.bla.bla | findstr [ 1>>pinglog.txt

Y:\Mei Zeig\Admin>ping -n 1 .bla.domain.bla.bla | findstr [ 1>>pinglog.txt

Y:\Mei Zeig\Admin>ping -n 1 .bla.domain.bla.bla | findstr [ 1>>pinglog.txt


Danke trotzdem
lg
DarkBrummer
Bitte warten ..
Mitglied: Biber
10.02.2011 um 17:08 Uhr
Moin DarkBrummer,

willkommen im Forum.
Zitat von DarkBrummer:
Hi Bastla, erstmal danke für die schnelle Antwort
Habe es auf deinen Rat hin geändert:
...
FOR /F "tokens=1*" %%a IN (Hostnames.txt) DO ping -n 1 %a%%b% | findstr [ >> pinglog.txt

Hmmja, bastla hatte noch einen kleinen Zusatz dabei
...so, wie sie wirklich heißt ...
Gemeint war damit vermutlich, dass du zum Ansprechen des Gesamtstrings aus Laufvariable %%a und gesetzter Variable %b%
NICHT schreiben solltest : %a%%b%
SONDERN : %%a%b%

Sieht zwar alles aus wie Merkels Frisur, aber bei genauem Hinschauen gibt es Unterschiede...

Grüße
Biber
Bitte warten ..
Mitglied: DarkBrummer
10.02.2011 um 17:14 Uhr
:D Klasse,
ich hab den halben Tag nach der richtigen Schreibweise gesucht, und sie nicht gefunden.
Bin dann mehrfach über euere Beiträge in Google gestolpert..., aber jetzt! JUHU, es funktioniert. Denke das hat sich gelohnt, da ich jetzt keine 200 Server händisch anpingen muss. Aber es fehlen noch ein paar Kleinigkeiten. Evlt. hört ich nochmal von mir.

Dankeschön! - Spitze!
LG
Dark

PS: Danke für die nette Begrüßung im Board.
Bitte warten ..
Mitglied: 60730
10.02.2011 um 17:54 Uhr
moin und auch von mir ein herzhaftes Willkommen.

  • und ein paar kleiner Tipps am Rande...

"nur" in Schleifen bist du auf "nichtssagende" Variablen wie a oder A (und das sind zwei unterschiedliche) angewiesen.

  • Sinnvoller und deutlich lesbarer wäeren nein - nicht die <code></code> Blöcke - in die Batche gut passen sondern aussagekräftige Variablen.

Am liebsten nicht nur "hübsch" geschrieben, sondern auch in Gänsefüsschen. (Zeile 5)

01.
REM Erstelle eine Datei namens pinglog.txt
02.
echo PingAlot > pinglog.txt
03.

04.
REM definiere Umgebungsvariable b
05.
SET "domain=bla.domäne.bla"
06.

07.
REM Schleife, hole dir aus der Datei Hostnames.txt einen Namen (%%a), und pinge die Komibnation aus dem geholten namen und der Umgebungsvariable, dann filtere und schreibs in die pinglog.txt
08.
FOR /F "tokens=1*" %%a IN (Hostnames.txt) DO ping -n 1 %%a.%domain% | findstr [ >> pinglog.txt
Auch wenn die Unterschiede auf den ersten Blick so groß sein mögen, wie Meister Proper mit Lutscher im Hals und Theo Kojak - es macht einen großen Unterschied

Ping %%a.%domain% - oder Ping %%a.%%b sieht einfach schöner aus, als Ping %%a%%b.
(Und wenn du das gemacht hättest, dann gäbe es auch kein "zufällig" funktionierendes %%b)


Gruß
Bitte warten ..
Mitglied: Skyemugen
10.02.2011 um 18:17 Uhr
Zitat von 60730:
Auch wenn die Unterschiede auf den ersten Blick so groß sein mögen, wie Meister Proper mit Lutscher im Hals und Theo
Kojak - es macht einen großen Unterschied

Aloha T-Mo,

[OT]
irgendwann notier ich mir diese Art von Vergleichen von dir und verlege sie als Buch - made my day ;)
[/OT]

greetz André
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
String in Datei umbennen
gelöst Frage von DarkatohmBatch & Shell3 Kommentare

Hallo zusammen, ich versuche ein Batch-Skript zu schreiben, bei dem ich einen String in einer Datei umbenennen kann. Hierzu ...

Windows 10

Registry Datei importieren schlägt fehl

Frage von malawiWindows 102 Kommentare

Liebe Experten, ich habe nach einer frischen Win10 Pro (64bit) Installation ein Backup meiner Registry-Datenbank gemacht. Dann habe ich ...

Batch & Shell

TXT Datei bleibt nach Erstellung leer - woran liegt es?

gelöst Frage von Komoran12Batch & Shell14 Kommentare

Hallo, ich bin blutiger Anfänger und hoffe, dass mir wer weiterhelfen kann :-) Ich habe eine .csv, die wie ...

Batch & Shell

Bestimmten Teil eines String aus einer XML-Datei auslesen

gelöst Frage von Dnis822Batch & Shell13 Kommentare

Hallo zusammen, ich stehe vor folgendem Problem: Ich habe eine XML-Datei die bspw. so aussieht: <Url1> <Directory>C:\MeinVerzeichnis\test\</Directory> 'Name' und ...

Neue Wissensbeiträge
Linux Desktop

Warum Linux in einer vernetzten Welt einfach keinen Komfort bietet!

Tipp von Snowbird vor 1 StundeLinux Desktop1 Kommentar

Ein interessanter Einblick warum Linux nichts für Geräteübergreifende Arbeit ist :)

Humor (lol)
Zuviel Speicher ist ungesund. :-)
Tipp von Lochkartenstanzer vor 13 StundenHumor (lol)11 Kommentare

Moin Kollegen, Heute hatte ich ein ungewöhnliches Aha-Erlebnis: Über das Wochenende habe ich einen einen 6 Jahre alten Bare-Metal ...

Windows Update

KB4517297 verfügbar, behebt Fehler in VB6 VBA VBScript

Information von sabines vor 16 StundenWindows Update

Das Update behebt mögliche Fehler in VB6, VBA und VBScript, die durch das Update KB4512486 vom August entstanden sind. ...

Viren und Trojaner

Staatstrojaner soll auch per Einbruch installiert werden können

Information von transocean vor 2 TagenViren und Trojaner4 Kommentare

Moin, Bundesinnenminister Horst Seehofer will dem Verfassungsschutz Wohnungseinbrüche erlauben, um den geplanten Staatstrojaner zu installieren. Gruß Uwe

Heiß diskutierte Inhalte
Hyper-V
Bei Neuaufbau auf Core-Server setzen?
gelöst Frage von dertowaHyper-V32 Kommentare

Hallo zusammen, ich habe vor einigen Monaten die Verantwortung für eine EDV-Landschaft übernommen die seit Jahren von einem Dienstleister ...

Router & Routing
VPN Verbindung zur Fritzbox über Speedport
gelöst Frage von SchwabenlandRouter & Routing13 Kommentare

Hallo! Ich bin gerade im Urlaub an der Nordsee :-) In unserem Ferienhaus haben wir WLAN, das durch einen ...

Netzwerkmanagement
Zentrales Switch-Management
Frage von joergNetzwerkmanagement11 Kommentare

Hallo zusammen, ich bin auf der Suche nach einem Management für Switche. Wir haben eine heterogene Struktur und jede ...

Humor (lol)
Zuviel Speicher ist ungesund. :-)
Tipp von LochkartenstanzerHumor (lol)11 Kommentare

Moin Kollegen, Heute hatte ich ein ungewöhnliches Aha-Erlebnis: Über das Wochenende habe ich einen einen 6 Jahre alten Bare-Metal ...