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

Wie Text Zeilenweise per Batch aus txt auslesen...?

Frage Entwicklung Batch & Shell

Mitglied: -eraz-

-eraz- (Level 1) - Jetzt verbinden

05.12.2007, aktualisiert 06.12.2007, 10200 Aufrufe, 2 Kommentare

Hallo Leute!

ich habe schon das Forum durchsucht aber irgendwie nicht das gefunden was ich brauche. Ich möchte mit einer Schleife Zeilenweise Text (Computernamen) auslesen und diese dann als Variable setzen damit ich damit arbeiten kann. Bisher habe ich folgendes versucht:
01.
FOR /F "skip=2 delims=" %%i IN (clients.txt) DO set client=%%i
das funktioniert zwar schonmal garnicht so schlecht, allerdings rattert die schleife bis zur letzten zeile durch und setzt mir den letzten wert dann als variable. Ich brauch aber zuerst die erste Zeile, dann möchte ich einen Befehl ausführen und wenn er den beendet hat soll er die zweite Zeile auslesen usw. Wie gehts richtig...?
Mitglied: bastla
05.12.2007 um 17:32 Uhr
Hallo -eraz- und willkommen im Forum!

Je nachdem, was Du alles vorhast, wird es vermutlich sinnvoll sein, ein Unterprogramm einzusetzen - etwa so:
01.
FOR /F "skip=2 delims=" %%i IN (clients.txt) DO call :ProcessClient "%%i" 
02.
goto :eof 
03.
 
04.
:ProcessClient 
05.
echo Client %~1 wird bearbeitet 
06.
... 
07.
... 
08.
goto :eof
Dieses Unterprogramm verhält sich im Prinzip wie ein neuer Batch, der mit dem Parameter "Client" aufgerufen wurde. Der Parameter wird dabei mit %1 (oder %~1, um die beim Aufruf zur Sicherheit gesetzten umgebenden Anführungszeichen zu entfernen) angesprochen.

Das Unterprogramm wird mit "goto :eof" beendet, was einem "Return" (zur aufrufenden Schleife) entspricht. Wenn (wie in meinem Beispiel) unterhalb des Unterprogramms kein weiterer Programmcode folgt, kannst Du dieses "gotoi :eof" auch weglassen.

Das "goto :eof" im Hauptprogramm beendet dann den Batch, damit das Unterprogramm nicht unbeabsichtigt nach dem Ende der Schleife nochmals durchlaufen wird.

Grüße
bastla
Bitte warten ..
Mitglied: -eraz-
06.12.2007 um 08:25 Uhr
Wow, funktioniert total gut! Danke!

Eine Kleinigkeit gäb's vielleicht noch... Kann man das auch irgendwie so machen das man nicht jedes mal Enter drücken muss damit die schleife zum nächsten Clients springt? Also das es halt einfach durchläuft...?

/edit
Sorry war mein Fehler... hab nur zum testen ne pause eingebaut... *gg* Danke nochmal!!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Rogue Access Point (21)

Frage von Axel90 zum Thema LAN, WAN, Wireless ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Webbrowser
Windows 7 unbeliebte Internetseite sperren (13)

Frage von Daoudi1973 zum Thema Webbrowser ...

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...