Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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
Kommentar vom Moderator Biber am 25.05.2010 um 16:25:00 Uhr
Verschoben nach "Batch & Shell" von "Entwicklung".
GELÖST

Per Batch 1. Zeile einer .txt auf bestimmten PC auslesen

Frage Entwicklung Batch & Shell

Mitglied: Scratch

Scratch (Level 1) - Jetzt verbinden

25.05.2010, aktualisiert 16:25 Uhr, 6028 Aufrufe, 6 Kommentare

Moin, moin,

ich habe folgendes Problemchen: Ich möchte die erste Zeile einer bestimmten .txt-Datei im Pfad c:\Programme\ProgrammX\text.txt auslesen.
Ich scheitere allerdings schon bei der 1. Zeile:

01.
for /F "delims=;" %%i in (C:\Programme\fawbsh\LOGMSG.TXT) do echo %%i>>ausgabe.txt
liest leider die ganze File ein.

Ist allerdings das kleinere Problem. Das eigentliche Problem ist, dass das nicht lokal auf meinem Rechner ausgeführt werden soll, sondern auf
bestimmten Rechnern bei uns in der Firma. Irgendwo habe ich mal gelesen, dass man keine doppelte IF-Anweisung, also in sich verschachtelt,
durchführen kann.

Mit
01.
For /F %%a in (liste.txt) DO (
und dann die anweisung von oben in den klammern funktioniert es leider nicht.

Wie kann ich mein Problemchen lösen?
Mitglied: callback
25.05.2010 um 15:41 Uhr
ähm entschuldigung, wenn die frage jetzt ein bischen blöd klingt, aber du redest was von verschachtelten if-anweisungen, und schreibst dann in deinem code ne for-schleife, ich blick da grad nicht durch was du eigentlich willst.

MfG

CALLBACK
Bitte warten ..
Mitglied: 60730
25.05.2010 um 15:46 Uhr
Salü,

01.
findstr /n "." "C:\Programme\fawbsh\LOGMSG.TXT" |findstr /b /c "1:">ausgabe.txt
Wie das genau funktioniert?

Einfach mal findstr /? aufrufen und sich den Sinn von /C /B /N ansehen.
Das erste "." ist der sonst übliche Platzhalter (*)

Gruß

edit:
Irgendwo habe ich mal gelesen, dass man keine doppelte IF-Anweisung, also in sich verschachtelt, durchführen kann.

das ist quark...
Ein ganz simples Beispiel...

01.
if exist c:\ echo c ist da 
02.
if exist c:\ if exist d:\ echo c und d sind da
Bitte warten ..
Mitglied: bastla
25.05.2010 um 16:09 Uhr
Hallo Scratch!

Ich sehe auch noch keine Notwendigkeit für auch nur ein "if" - aber vermutlich ist ohnehin das Verschachteln von "for"-Schleifen gemeint, was ganz nebenbei auch kein Problem ist ...

... aber zur eigentlichen Frage: Am einfachsten kommst Du zur ersten Zeile einer Datei über:
set /p ErsteZeile=<Datei.txt
[Edit]
Wenn es tatsächlich darum gehen sollte, aus mehreren Dateien jeweils nur die erste Zeile in eine neue Datei zu schreiben, würde ich das allerdings eher so versuchen:
01.
for /f %%a in (liste.txt) do ( 
02.
    set "Erste=True"     
03.
    for /f "usebackq delims=" %%i in ("%%a") do ( 
04.
        if defined Erste >>ausgabe.txt echo %%i 
05.
        set "Erste=" 
06.
07.
)
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: Scratch
25.05.2010 um 16:46 Uhr
Peinlich Ja, geschrieben IF-Anweisung, gemeint For-Schleife Ich danke euch erstmal. kanns allerdings erst morgen ausprobieren. Werde dann aber berichten, ob ich Erfolg hatte oder nicht.
Bitte warten ..
Mitglied: Scratch
26.05.2010 um 11:51 Uhr
So. Entweder ich stehe mal wieder auf dem Schlauch, oder da stimmt irgendwas nicht. Kommt aufs gleiche raus
01.
for /f %%a in (liste.txt) do ( 
02.
set "Erste=True" 
03.
for /f "usebackq delims=" %%i in (\\%%a\c$\Programme\ProgrammX\logdatei.txt) do ( 
04.
if defined Erste echo %%a %%i>>ausgabe.txt  
05.
set "Erste=" 
06.
07.
)
Warum genau definierst du eigentlich die Variable?
In meiner Liste sthen jetzt 2 Computernamen drin. In meine ausgabe.txt schreibt er aber nur den ersten in der Datei und dahinter dann die erste Zeile meiner auszulesenden Logdatei.
Warum arbeitet er die Liste nicht weiter ab?

Edit: Hat sich erledigt, mein Fehler. Ich hatte einen ungüötigen Computernamen in der Liste. Vielen Dank, klappt jetzt alles so, wie es soll!
Bitte warten ..
Mitglied: bastla
26.05.2010 um 12:35 Uhr
Hallo Scratch!
Warum genau definierst du eigentlich die Variable?
Eine "for /f"-Schleife geht immer alle Zeilen der Datei durch - um nur die erste auch in die Ausgabedatei zu schreiben, verwende ich die Variable %Erste% als Schalter (der sich am einfachsten hinsichtlich Existenz abfragen lässt - es ist daher egal, welcher Text in Zeile 2 zugewiesen wird; wichtig ist nur, dass in Zeile 5 die Variable für diese Datei wieder gelöscht wird, sodass eben nur die eine Zeile geschrieben wird).

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch sucht bestimmten "text" in einer .txt datei und soll dann die Zeile anzeigen (6)

Frage von MedicalAd zum Thema Batch & Shell ...

PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

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

Frage von Beatzler zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Taschenrechner in IOS kaputt!

(5)

Information von Lochkartenstanzer zum Thema Humor (lol) ...

Sicherheit

Kanadischer Geheimdienst veröffentlicht erstmals Sicherheitssoftware

(3)

Information von BassFishFox zum Thema Sicherheit ...

Virtualisierung

Docker Monitoring und Steuerung per "sen"

Tipp von Frank zum Thema Virtualisierung ...

Heiß diskutierte Inhalte
Windows 7
Abbruch bei Brennvorgang (26)

Frage von Simulant zum Thema Windows 7 ...

Router & Routing
Externe IP von innen erreichbar machen (16)

Frage von Windows10Gegner zum Thema Router & Routing ...

Firewall
WIndows 7 RDP Massen Angriff (15)

Frage von Motte990 zum Thema Firewall ...