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

Werte aus einer Datei in eine andere schreiben

Frage Entwicklung Batch & Shell

Mitglied: Larz

Larz (Level 2) - Jetzt verbinden

30.03.2010, aktualisiert 08:54 Uhr, 4392 Aufrufe, 7 Kommentare

Lese Inhalt ab Zeile 4, schreibe in neue Datei

Hallo zusammen,

ich habe eine Datei "sqlvalue.txt" mit folgendem Inhalt:

Ausfhrungszeit: 0,016 Sekunden
Feld_Name
Inhalt des Feldes mit Leerzeichen

(Erste 1 Zeilen)

Aus dieser Datei möchte ich die vierte Zeile (den Inhalt) auslesen und in eine andere Datei "sqlvalue3.txt" schreiben.
Das wollte ich so machen, dass ich die ersten 3 Zeilen überspringe und ab da alle Zeilen in eine neue Datei schreibe. Dafür habe ich folgenden Befehl:
01.
for /F "delims=\ tokens=* skip=3"  %%a in ("%temp%\sqlvalue.txt") DO echo %%a>>%temp%\sqlvalueline3.txt
Jedoch passiert nichts, wenn ich skip=3 im Befehl stehen habe. Ohne skip=3 schreibt er mir eine Datei, aber anstatt dem Inhalt der sqlvalue.txt schreibt er mir den Pfad zur Datei rein...
Bin jetzt ehrlich gesagt etwas überfragt, woran das liegen könnt.
Kann mir jemand kurz "Schützenhilfe" geben?!

Vielen Dank

Lars
Mitglied: bastla
30.03.2010 um 10:12 Uhr
Hallo Larz!

Je nachdem, ob Du alles ab Zeile 4 oder nur Zeile 4 schreiben möchtest, würden sich zB folgende Varianten anbieten:

Ab Zeile 4:
for /f "usebackq skip=3 delims=" %%a in ("%temp%\sqlvalue.txt") do >>"%temp%\sqlvalueline3.txt" echo %%a
(wobei Leerzeichen verloren gehen und die Zieldatei vorweg gelöscht werden müsste) oder einfacher:
more +3 "%temp%\sqlvalue.txt">"%temp%\sqlvalueline3.txt"
Nur Zeile 4:
01.
@echo off & setlocal 
02.
set "Zeile=" 
03.
for /f "usebackq skip=3 delims=" %%a in ("%temp%\sqlvalue.txt") do if not defined Zeile set "Zeile=%%a" 
04.
>"%temp%\sqlvalueline3.txt" echo\%Zeile%
Noch ein Hinweis zu "usebackq": Dieses ist erforderlich, weil der Pfad zu "sqlvalue.txt" unter Anführungszeichen angegeben ist (was bei Verwendung von "Original"-%temp% - siehe unten - und Vermeidung von Leerzeichen im Dateinamen eigentlich nicht nötig wäre) ...

Grüße
bastla
Bitte warten ..
Mitglied: KHP
30.03.2010 um 10:22 Uhr
Hallo Lars,

ich hab's jetzt nicht getestet, meine erste Idee war die Anführungszeichen wegzulassen. Allerdings kann es da Probleme geben, wenn die %temp% ein Leerzeichen enthält.
Das würde halt den Pfad-Output erklären.

Versuch's aber mal mit: tokens=4

Hier: http://www.robvanderwoude.com/ntfortokens.php
...ist eine ganz gute Erklärung für tokens+delims

Gruß, Tobias
Bitte warten ..
Mitglied: bastla
30.03.2010 um 10:31 Uhr
@KHP
Allerdings kann es da Probleme geben, wenn die %temp% ein Leerzeichen enthält
Richtiger Einwand; soferne%temp% allerdings nicht durch einen eigenen Wert überschrieben wurde (also - zB unter XP - noch auf den Ordner "TEMP=C:\Dokumente und Einstellungen\Username\Lokale Einstellungen\Temp" verweist), wird automatisch (aus Kompatibilitätsgründen) die Kurzschreibweise "C:\DOKUME~1\USER\LOKALE~1\Temp" verwendet ...

Grüße
bastla
Bitte warten ..
Mitglied: KHP
30.03.2010 um 10:43 Uhr
Danke bastla, wußte ich nicht...
Bitte warten ..
Mitglied: bastla
30.03.2010 um 10:48 Uhr
@KHP
Gerne : -)

Übrigens: Für einen Überblick über die (meisten) der vom System zur Verfügung gestellten Variablen einfach an der Kommandozeile "set" eingeben ...

Grüße
bastla
Bitte warten ..
Mitglied: Larz
30.03.2010 um 12:09 Uhr
Hallo Bastla,

super, danke, das usebackq war der springende Punkt - jetzt klappt's!
Auch dein Beispiel zum auslesen einer definierten, einzelnen Zeile ist prima - sowas hab ich schon öfters gesucht...

Gruß
Lars
Bitte warten ..
Mitglied: Larz
30.03.2010 um 12:10 Uhr
Hallo Tobias,

danke für den Link! In einer ruhigen Minute muss ich mir den mal anschauen...

Gruß
Lars
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
VB for Applications
gelöst Schreiben in andere Excel-Datei macht Worksheet unsichtbar (5)

Frage von Albatros91 zum Thema VB for Applications ...

Batch & Shell
gelöst 2 große TXT Dateien vergleichen und Unterschiede in andere Datei schreiben (6)

Frage von sid.pdm zum Thema Batch & Shell ...

Batch & Shell
gelöst PS Werte CSV-Datei in AD Attribut (3)

Frage von lupolo zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...