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, 10207 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 Batch: Textdatei Zeilenweise auslesen (2)

Frage von CreatorX zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Batch & Shell
CMD-Batch hilfe: Dateiname zu txt (2)

Frage von Syscore64 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (22)

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

Drucker und Scanner
Erfahrungen mit Enterprise-Tintenstrahldruckern A4 und A3 (14)

Frage von User1000 zum Thema Drucker und Scanner ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...