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, 7117 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch-Skript: Messdaten in Textdatei finden und in eine neue Datei schreiben (5)

Frage von habmalnefrage zum Thema Batch & Shell ...

Installation
gelöst Mit Powershell in einer Datei eine Zeile auslesen (6)

Frage von Bommi1961 zum Thema Installation ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...