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
GELÖST

komma separierte textdatei per for-next schleife auslesen

Frage Entwicklung Batch & Shell

Mitglied: dbernsee

dbernsee (Level 1) - Jetzt verbinden

09.07.2008, aktualisiert 16.07.2008, 7543 Aufrufe, 4 Kommentare

Hallo!

Ich habe eine server.txt datei mit folgendem Inhalt: server1,server2,server3...usw diese würde ich gern auslesen ! (...um der frage vorwegzu greifen JA die datei muss genauso aufgebaut sein!)

mir ist klar das wenn die Datei wie folgt aussehen würde alles palletti wäre:

server1<-CRLF
server2
server3
usw.

zum testen habe ich folgendes probiert...was natürlich auch wunderbar funktioniert...

FOR /F "tokens=1-3 delims=," %a IN (c:\batch\server.txt) DO echo %a %b %c

...das ist aber nicht das was ich möchte...die for schleife sollte meine text datei so auslesen das ich als wert %%a jeden server nacheinander ansprechen kann !

mein nächster gedanke war ..evtl. kann ich mit einem tool (zb. sed oder gsar) die kommas durch zeilenumbrüche erstzen lassen !?

...aber mit den zeilenumbrüchen in einer batch ist das ja soone sache !!! habe im intenet nichts gefunden was da wirklich geht!!!

zb. so :

FOR /F "tokens=1" %a IN ('gsar -f, -r?? server.txt') DO echo %a

aber evtl. hat ja jemand von euch noch eine ganz andere idee !?

mfg
D.Bernsee
Mitglied: Biber
09.07.2008 um 20:50 Uhr
Moin dbernsee,

willkommen im Forum.

Wenn Du die Werte partout in eine Ein-Server-pro-Zeile-Liste schreiben möchtest, dann kannst Du es so machen:
01.
for /f "delims=, tokens=1-3" %a in (server.txt) do @((echo %a) &(echo %b) &@(echo %c))
...vom CMD-Prompt aus. Und das Ganze ggf. in eine neue Datei (mit ">"9 oder eine vorhandene (mit ">>") umleiten.

Andererseits: Mach es doch einfach mit einer zeilenweisen Abarbeitung je 3 Server nacheinander (wenn die halt so in der Datei stehen),

Batch:
01.
@echo off & setlocal 
02.
for /f "delims=, tokens=1-3" %%a in (server.txt) do ( 
03.
     call :machwatmit %%a 
04.
     call :machwatmit %%b 
05.
     call :machwatmit %%c 
06.
07.
goto :eof 
08.
 
09.
:machwatmit param1 ist der Servername 
10.
echo jetzt wird Server %1 bearbeitet... 
11.
echo bla... 
12.
goto :eof
Grüße
Biber
P.S. Hier im Forum ### es vielleicht nicht, aber es funktioniert.
Bitte warten ..
Mitglied: dbernsee
15.07.2008 um 15:17 Uhr
Hallo Biber,

danke für die schnelle Antwort...ich war leider nicht im Lande um sofort zu reagieren! Tja eigentlich hatte ich ja bereits so eine ähnliche Lösung
...denn das hier "FOR /F "tokens=1-3 delims=," %a IN (c:\batch\server.txt) DO echo %a %b %c" funktioniert ja wunderbar !!! Ist aber wie gesagt nicht das was ich möchte ...die server.txt enthält nämlich nicht nur 3 maschinen sondern 30+ und mit der oben genannten Methode habe ich ab 29 bzw. 26 (ohne umlaute) ein Problem! Außerdem wäre die Schleife dann elendslang und unübersichtlich! Ich benutze die Serverliste noch in einer anderen batch bzw. mit einem tool welches leider die bekannte Schreibweise (server1,server2...) voraussetzt...sonst hätte ich die liste schon längst händisch' umformatiert!!! Das Format der Liste ist mir letztendlich wurscht ...den echo in meiner schleife habe ich nur als beispiel eingefügt... im original steht dort ein tool namens uptime (zeigt mir die server uptime an!!!)

meine 1te batch...
IST Stand (f u n z t):
FOR %%A IN (server1,server2,server3,...) DO uptime %%A>>c:\batch\server_uptime.log

SOLL Stand (f u n z t nicht):
FOR /F "tokens=???" %%A IN (server.txt) DO uptime %%A>>c:\batch\server_uptime.log


und meine 2te batch schaut so aus...

for /f "tokens=3 delims=: " %%a in ('fping -H %wdir%\server.txt -n1 -l^|find "Reply"') do (
for /f "tokens=2" %%b in ('fping %%a -a -n1^|find "Pinging"') do (
if not exist \\%%a\admin$ echo Can't access Admin Share on %%b !!!>>%wdir%\admin_share.log
)
)

den 2ten schleifen durchgang benötige ich für die (rück)übersetzung von ip auf hostname !

ich möchte nur noch eine server liste pflegen ...deshalb die umstellung der 1ten batch !!! und am liebsten würde ich die server liste abfragen ohne ein weiteres output file zu erzeugen !!!

mfg
db
Bitte warten ..
Mitglied: bastla
15.07.2008 um 18:11 Uhr
Hallo dbernsee!

Batch 1 sollte eigentlich so gehen:
01.
for /f "delims=" %%i in (server.txt) do for %%A in (%%i) do uptime %%A>>c:\batch\server_uptime.log
Grüße
bastla
Bitte warten ..
Mitglied: dbernsee
16.07.2008 um 08:02 Uhr
Moin Moin!

Krass... immer wenn ich gerade denke ich kenn' mich ganz gut in NT-Batch aus ...kommt sowas !!!

Supi 1000 Dank an Superbrain "bastla" !!!

...wenn Du mir jetzt noch die Schleife erklärst bin ich auch schon zufrieden !

...nein warte ich versuch's selbst mal...
...du gibst ja bei der ersten schleife keinen trenner und nix an ...und wir arbeiten dort mit der variable %%i (d.h. %%i stellt in dem moment den kompletten Inhalt der server.txt dar ...richtig?) ...dann wird eine 2te schleife dran gehängt und....ahh mir dämmerts!!!! Coool ....echt nicht schlecht...!

...also falls ich's noch nicht erwähnt hatte ihr jung's von administrator.de habt's echt drauf !!!

gruß
db

p.s.: wenn die for schleife ohne /f auch befehle ausführen könnte hätte man's ja theoretisch auch über nen type auslesen lassen können !!! so z.b. FOR %A IN ('type server.txt') DO uptime %A ....

geht aber eben nicht weil dafür wie gesagt der parameter /f gesetzt sein muss !!!
Bitte warten ..
Ähnliche Inhalte
Basic
VBS: Erlaubnis verweigert in For-Next-Schleife
gelöst Frage von GurkenhobelBasic6 Kommentare

Hallo Gemeinde, wieder stehe ich vor einem Problemchen. Als VBS-Neuling habe ich ein vorhandenes Script modifiziert. Dieses soll alle ...

Batch & Shell
Batch Schleife als FOR-SCHLEIFE
gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Batch & Shell
FOR Schleife mit LOOP und nachfolgender FOR Schleife
gelöst Frage von miczarBatch & Shell6 Kommentare

Hallo zusammen, ich habe ein Problem mit einem Batchfile. Situation: im Netzwerk ist kein WINS mehr vorhanden und so ...

Batch & Shell
In einer verschachtelten For-Schleife Ping info auslesen
gelöst Frage von Tommy-TyrolBatch & Shell4 Kommentare

Hallo allerseits, quäle mich seit einiger Zeit mit folgendem Problem. In einer Textdatei (ipfil.txt) stehen IP-Adressen von rechnern welche ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 12 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 15 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 16 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 19 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...