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

Auslesen einzlner Zeilen aus einem TXT File mittels Batch

Frage Entwicklung Batch & Shell

Mitglied: meuse

meuse (Level 1) - Jetzt verbinden

19.10.2004, aktualisiert 29.11.2007, 125658 Aufrufe, 10 Kommentare

Hallo Jungs!

Ich habe folgendes Problem. Ich habe eine Liste mit mehreren Rechner als TXT. Nun sollte ich auf diesen Rechnern Änderungen vornehmen und weiß aber nicht, wie ich die Rechner nacheinander, zeilenweise auslesen kann.

Danke

.meuse
Mitglied: meto
19.10.2004 um 13:01 Uhr
Versuch es mal mit VB-Scripting. Anleitung findest du unter http://www.microsoft.com/germany/technet/datenbank/articles/600356.mspx
Damit kannst du deine Textdatei zeilenweise auslesen und dann VB-Befehle oder auch CMD-Befehle ausführen.
Bitte warten ..
Mitglied: Lord-Helmi
19.10.2004 um 13:08 Uhr
Hallo,

den Befehl, den du suchst, lautet "for". Mit einer for-Schleife kannst du jede einzelne Zeile aus deiner Textdatei auslesen und dafür jeweils eine bestimmte Aktion ausführen.

Falls du hilfe beim Erstellen der for-Schleife brauchst, poste einfach mal einen Auszug aus der Text-Datei und welcher Befehl für die Zeilen ausgeführt werden soll.

Gruß
Michael
Bitte warten ..
Mitglied: meuse
19.10.2004 um 13:16 Uhr
Hallo!

Also ich sollte folgendes haben. Ich habe TXT file mit lauter Rechnernamen

PC1
PC2
PC3
...

Nun sollte ich haben, dass mir das Batchfile ein Echo ausgeben soll, welche PC´s in der Liste stehen.

FOR %%f IN () DO echo %%f

aber ich weiß leider nicht, was in die Klammer kommt. Wenn ich das Textfile angebe, wird der Name des Files ausgegeben und nicht PC1, PC2, ... .

Danke
Bitte warten ..
Mitglied: Lord-Helmi
19.10.2004 um 13:22 Uhr
Hallo

probiers mal mit der Option /f, dann müsste das ganze funktionieren. Der Name der Text-Datei kommt in die Klammern.

FOR /f %%f IN (test.txt) DO echo %%f

Gruß
Michael
Bitte warten ..
Mitglied: meuse
19.10.2004 um 13:25 Uhr
Hallo Michael!!

Vielen Dank, es hat bestens funktioniert!!

Kennst du eventuell gute Links auf Batch Sites (Erklärung, Tutorials, ...) oder weißt du wo ich E-Books downloaden kann??

Wäre dir sehr dankbar!!

Gruß
Markus
Bitte warten ..
Mitglied: Lord-Helmi
19.10.2004 um 13:37 Uhr
Hallo,

leider kenne ich zu dem Thema auch keine richtig guten Seiten. Auch wenn es bestimmt eine Menge davon gibt. Eine Übersicht der Win2k und WinXP - Befehle findest du unter home.arcor.de/zero2k58/pdf/CMD_20Referenz.pdf

Gruß
Michael
Bitte warten ..
Mitglied: matzZz3
29.11.2007 um 12:40 Uhr
Habe Ähnliche Aufgabenstellung, bekomme es aber ums verrecken nicht hin
Bei mir soll die Batch Datei nur die 2, 4, und 6 Zeile auslesen, bekomms aber nicht zum laufen

Bisher sieht es so aus:

@echo off
if not exist Test.txt echo Bitte ins Verzeichniss kopieren! & pause & goto :eof

@echo off
echo erstellt von Max Mustermann




FOR /f %%f IN (Test.txt) DO echo %%f

Pause

So zeigt er mir die ganze Textfile an, aber mlchte wie gesagt nur die 2,4 und 6 Zeile.

HIlfe ;(
Bitte warten ..
Mitglied: Biber
29.11.2007 um 15:00 Uhr
Moin matzZz3.

willkommen im Forum.
In Deinem Fall dann:
a) CMD-Prompt
01.
>for /f "tokens=1,* delims=:" %i in ('findstr /n  $ test.txt') do @for /L %a in (2,2,6) do @if %i==%a @echo %j
b) Batch
01.
for /f "tokens=1,* delims=:" %%i in ('findstr /n  $ test.txt') do @( 
02.
        for /L %%a in (2,2,6) do @if %%i==%%a @echo %%j 
03.
)
Grüße
Biber
P.S. Hier bei uns im Forum
  • schreiben wir "Hallo" oder "Tach" statt "Habe Ähnliche Aufgabenstelllung" am Anfang
  • schreiben "Gruß" am Ende statt "HIlfe ;("
  • und werden aber im Gegenzug auch immer freundlich bedient.
Bitte warten ..
Mitglied: matzZz3
29.11.2007 um 15:25 Uhr
Vielen Dank, Funktioniert!

Kannst du mir eventuell noch die Syntax dazu erklären?

Sieht für mich als armer einfacher Anwender doch sehr verwwirend aus :/

Es reicht dabei ne kleine Erklärung.

Gruß Mathias

PS: Werde mich in Zukunft an die Netiquette halten
Bitte warten ..
Mitglied: Biber
29.11.2007 um 16:44 Uhr
Moin matzZz3,

danke für die Rückmeldung.
Ich versuch eine kurze Erklärung (hab einen Termin gleich).
Aber wir haben ähnliche Beispiele ausführlich aufgedröselt in Batch & Shell.
01.
for /f "tokens=1,* delims=:" %%i in ('findstr /n  $ test.txt') do @( 
02.
        for /L %%a in (2,2,6) do @if %%i==%%a @echo %%j 
03.
04.
 
--> innen in der ersten Klammer anfangen zu lesen: da steht der Text, der verwertet wird.
--> teste die Ausgabe von "findstr /n $ test.txt" (ohne Anführungszeichen) am CMD-Prompt
--> Alle Zeilen incl. Leerzeilen werden nummeriert angelistet.
--> "tokens=1,* delims=:" == trenne in Token1 und TokenRest mit Trennzeichen ":"
--> Davon werden später die Zeilennummern (=Token1) geprüft daraufhin, ob die 2, 4 oder 6 heißen.


Da das zufällig eine Zahlenreihe mit konstanter Schrittweite ist, hab ich schnell die FOR /L-Anweisung genommen (die lag grad hier rum) um mit
FOR /L %%a in (2,2,6)
..von der Zahl 2 angefangen mit der Schrittweite 2 bis 6 zu zählen.

Jo, und wenn es passt, wird es ausgegeben.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
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
Internet
Jeden morgen Internet-Probleme (51)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (21)

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

Windows 7
Bluesreens unternehmensweit (19)

Frage von SYS64738 zum Thema Windows 7 ...