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

Wort innerhalb einer Textdatei finden und Zeile auslesen mit Batch-Datei

Frage Entwicklung Batch & Shell

Mitglied: lena123

lena123 (Level 1) - Jetzt verbinden

18.09.2007, aktualisiert 16:37 Uhr, 7128 Aufrufe, 4 Kommentare

Hallo,

ich habe zwar schon viele ähnliche Beiträge gefunden aber bin trotzdem noch nicht weiter gekommen. Ich habe eine Textdatei in der sich folgender Inhalt mit anderen Werten 10x wiederholt:


KO_384x288_30.yuv

x264 [info]: using cpu capabilities: MMX MMXEXT SSE SSE2
x264 [info]: slice I:1 Avg QP:23.00 size: 10516 PSNR Mean Y:43.07 U:45.93 V:46.85 Avg:43.92 Global:43.92
x264 [info]: slice P:299 Avg QP:26.00 size: 935 PSNR Mean Y:40.31 U:43.73 V:44.46 Avg:41.24 Global:41.23
x264 [info]: mb I I16..4: 48.1% 0.0% 51.9%
x264 [info]: mb P I16..4: 0.8% 0.0% 0.2% P16..4: 21.3% 12.5% 4.7% 0.0% 0.0% skip:60.4%
x264 [info]: SSIM Mean Y:0.9795547
x264 [info]: PSNR Mean Y:40.318 U:43.733 V:44.470 Avg:41.250 Global:41.238 kb/s:193.39

Ich möchte nun z.B. den Wert der hinter SSIM Mean steht auslesen und in einen Neue Textdatei schreiben. Am besten wäre es wenn zusätzlich noch der Name (KO_384x288_30.yuv) mitausgegeben wird!

Gruß und Danke!
Mitglied: bastla
18.09.2007 um 13:14 Uhr
Hallo lena123 und willkommen im Forum!

Falls der Name immer in der zweiten Zeile steht, könnte das so gehen:
01.
@echo off & setlocal 
02.
set "Ein=D:\Textdatei.txt" 
03.
set "Aus=D:\TextNeu.txt" 
04.
set Name= 
05.
for /f "usebackq skip=1 delims=" %%i in ("%Ein%") do if not defined Name set "Name=%%i" 
06.
echo %Name%>"%Aus%" 
07.
for /f "tokens=3 delims=:" %%i in ('findstr /c:"SSIM Mean Y:" "%Ein%"') do (echo %%i)>>"%Aus%"
Grüße
bastla
Bitte warten ..
Mitglied: lena123
18.09.2007 um 13:25 Uhr
Hallo bastla,

der Name steht leider nicht immer in der 2. Zeile, da werd ich noch etwas rumprobieren aber der Rest funktioniert einwandfrei, vielen vielen Dank für die schnelle Antwort!

Gruß
Bitte warten ..
Mitglied: bastla
18.09.2007 um 14:58 Uhr
Hallo lena123!

Wenn der Name zumindest immer nach der ersten Zeile mit "
" kommt:
01.
@echo off & setlocal 
02.
set "Ein=D:\Textdatei.txt" 
03.
set "Aus=D:\TextNeu.txt" 
04.
set Zeile= 
05.
for /f "delims=:" %%i in ('findstr /n "================================================" "%Ein%"') do if not defined Zeile set Zeile=%%i 
06.
set Name= 
07.
for /f "usebackq skip=%Zeile% delims=" %%i in ("%Ein%") do if not defined Name set "Name=%%i" 
08.
echo %Name%>"%Aus%" 
09.
for /f "tokens=3 delims=:" %%i in ('findstr /c:"SSIM Mean Y:" "%Ein%"') do (echo %%i)>>"%Aus%"
Grüße
bastla
Bitte warten ..
Mitglied: lena123
18.09.2007 um 16:37 Uhr
Hallo bastla,

danke für den Vorschlag, die Anzahl der = Zeichen ist immer gleich, es wird allerdings immer nur der erste Name ausgegeben!?!

Die Namen stehen immer in regelmäßigen Abständen, daher habe ich deine erste Lösung genommen und die Anweisung wiederholt, kann man sicher auch mit ner Schleife lösen, aber fürs erste funktionierts.

gruß
Bitte warten ..
Ähnliche Inhalte
Installation
gelöst Mit Powershell in einer Datei eine Zeile auslesen (6)

Frage von Bommi1961 zum Thema Installation ...

Batch & Shell
gelöst Teile eines Dateinamens ändern mit Batch Datei (4)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Windows Netzwerk
gelöst Netzwerkpfad per Batch-Datei (6)

Frage von AveiroCR7 zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte