Top-Themen

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

gelöst Per Batch Zeichenfolgen suchen und mit nachfolgende Zeichen in neue Datei kopieren

Mitglied: er.zet

er.zet (Level 1) - Jetzt verbinden

11.08.2011, aktualisiert 11:08 Uhr, 3189 Aufrufe, 11 Kommentare

Hallo! Die Fragestellung entspricht zwar einigen bereits gestellten hier im Forum. Leider komme ich nach mehreren Stunden recherchieren und probieren nicht so recht klar. Für Euch Experten ist das sicher kein Problem.

Ich habe mehrere Dateien "Ein?.dat" in einem Verzeichnis. Dort liegt auch die zu erstellende "vis.bat". Diese soll alle "Ein?.dat" nach einer Zeichenkette "visval" durchsuchen. Die Zeichenkette und die folgenden 11 Zeichen sollen fortlaufend in ein eine einzige neue Datei "Aus.dat" kopiert werden. Vielen Dank schon mal!

Ein1.dat
Ein2.dat
Ein3.dat
...

Ein1.dat ... Ein?.dat sieht immer so aus:
01.
// Datafile written by Mathcad 
02.
// 08/10/11 13:57:18 
03.
 
04.
.MATRIX 0 0 24 3 
05.
 "visval,10000,58.1228600192828"              0              0 
06.
 "visval,10001,55.8719565435609"              0              0 
07.
 "visval,10002,45.8351180157297"              0              0 
08.
 "visval,10003,58.5046416119181"              0              0 
09.
 "visval,10004,57.6494541912281"              0              0 
10.
 "visval,10005,45.7315176626331"              0              0 
11.
 "visval,10006,37.2643068652701"              0              0 
12.
 "visval,10007,26.1210065954005"              0              0 
13.
 "visval,10008,22.7099962321111"              0              0 
14.
 "visval,10009,25.0559360319937"              0              0 
15.
 "visval,10010,35.9036309867422"              0              0 
16.
 "visval,10011,31.333264310119"              0              0 
17.
 "visval,10012,89.2226372546821"              0              0 
18.
 "visval,10013,85.4817205754242"              0              0 
19.
 "visval,10014,81.3341356276671"              0              0 
20.
 "visval,10015,86.6759720331076"              0              0 
21.
 "visval,10016,82.8176312808791"              0              0 
22.
 "visval,10017,78.5943078843083"              0              0 
23.
 "visval,10018,52.3241633904348"              0              0 
24.
 "visval,10019,53.1341030066508"              0              0 
25.
 "visval,10020,53.1207010124104"              0              0 
26.
 "visval,10021,50.3795769037556"              0              0 
27.
 "visval,10022,55.0316549690835"              0              0 
28.
 "visval,10023,58.3320021304807"              0              0
Aus.dat sollte dann so aussehen:
01.
visval,10000,58.1 
02.
visval,10001,55.8 
03.
visval,10002,45.8 
04.
visval,10003,58.5 
05.
visval,10004,57.6 
06.
visval,10005,45.7 
07.
...
Mitglied: Skyemugen
11.08.2011 um 10:35 Uhr
Aloha,

1.) Ohne Hallo und ohne Gruß wird hier nicht mehr bedient.
2.) 55.87 wird wirklich zu 55.8 und nicht zu 55.9?

greetz André
Bitte warten ..
Mitglied: bastla
11.08.2011 um 11:06 Uhr
@Skyemugen
55.87 wird wirklich zu 55.8 und nicht zu 55.9?
Wegen
die folgenden 11 Zeichen ...
Überlegungen zur Sinnhaftigkeit soll der TE anstellen ...

Grüße
bastla
Bitte warten ..
Mitglied: er.zet
11.08.2011 um 11:06 Uhr
Hallo André,

1. Ich gelobe Besserung!
2. Runden ist nicht notwendig.

Grüße Robert
Bitte warten ..
Mitglied: Skyemugen
11.08.2011 um 11:19 Uhr
Aloha Robert,

nun dein Beispiel hat, wie bastla bereits gemerkt hat, keine 11 Zeichen ...

aber egal, arbeiten wir erst einmal mit einer Stelle nach dem Punkt und max. zweistelligen Nummerierungen
01.
@echo off & setlocal 
02.
set "Pfad=E:\Skripte" 
03.
pushd "%Pfad%" 
04.
set "Output=Aus.dat" 
05.
if exist "%Output%" del "%Output%" 
06.
for /f "delims=" %%s in ('dir /b "Ein??.dat"') do ( 
07.
for /f "tokens=2-4 delims=,. " %%m in ('findstr "visval" "%%s"') do call :Ablauf %%m %%n "%%o 
08.
09.
popd 
10.
pause 
11.
exit /b 
12.
 
13.
:Ablauf 
14.
set "Zahl=%~3" 
15.
set "Zahl=%Zahl:~0,1%" 
16.
>>"%Output%" echo visval,%1,%2.%Zahl% 
17.
goto :eof

Achso, momentan werden Aus?.dat equivalent zur Ein?.dat erstellt, da mir unklar ist, ob du alle in eine haben willst oder für jede eine einzelne Datei.

greetz André

edit: jetzt mit DEP für del !Output! und für Ein- bis N-stelligen Dezimalzahlen
edit²: jetzt einer für alle und ganz korrekt mit gerader Anzahl Zollzeichen
Bitte warten ..
Mitglied: er.zet
11.08.2011 um 11:39 Uhr
Tiptop! Danke! Was muss geändert werden, damit alle Ein??.dat in eine Aus.dat generiert werden?
Bitte warten ..
Mitglied: bastla
11.08.2011 um 11:44 Uhr
@Skyemugen
nun dein Beispiel hat, wie bastla bereits gemerkt hat, keine 11 Zeichen ...
Mitnichten - nach "visval" folgen mit ",10000,58.1" tatsächlich 11 Zeichen.
Da Du (zu Recht) gerne mal eine gerade Anzahl von "Zollzeichen" urgierst, wäre eigentlich
for /f "tokens=2-4 delims=,. " %%m in ('findstr "visval" "%%s"') do call :Ablauf %%m %%n "%%o
und entsprechend
set "Zahl=%~3"
exakter ...

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
11.08.2011 um 11:47 Uhr
Aloha,

code wurde dahingehend geändert.

greetz André
Bitte warten ..
Mitglied: Skyemugen
11.08.2011 um 11:49 Uhr
Aloha bastla,

stimmt, das erste Komma hatte ich lustigerweise ignoriert delims im Kopf ;D zum Anderen: Joa, genau genommen kam mir das auch in den Sinn, ich fand es aber erst unschön aber man sollte schon strikt bei seinen Prinzipien bleiben, also ist es wieder drin

greetz André

P.S.: Aber dieser drollige bug, dass Ein??.dat equ Ein1.dat sein kann, ist immer wieder kurios Aber lässt sich hier vorteilhaft nutzen.
Bitte warten ..
Mitglied: bastla
11.08.2011 um 11:53 Uhr
@Skyemugen
-Die Zeilen 5 und 6 wären vor der Zeile 4 besser aufgehoben ... [Edit] Ich habe schon wieder die 5 "Editierminuten" nicht berücksichtigt. [/Edit]
Wieso "bug" - ist doch sicher ein "feature" ...

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
11.08.2011 um 11:54 Uhr
Aloha bastla,

:P too late, war längst geschehen kommt davon, wenn man mal so, dann so, dann DEP, dann doch alles in einem, da ändert man und lässt es erst einmal da stehen, wo es war ^_^

greetz André

edit: so kann das gehen *fg* war aber knapp

P.S.: Klar, bei M$ ist alles Seltsame immer ein feature, darum ist es ja so kostengünstig
P.P.S: @bastla, hattest du gemerkt: auch hier kam anfangs erst wieder call set zum Einsatz *gg*
Bitte warten ..
Mitglied: er.zet
11.08.2011 um 11:59 Uhr
Vielen Dank. Klappt alles bestens!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch - Datei Kopieren und neue Datei erzeugen

gelöst Frage von MasterSchlumpfBatch & Shell6 Kommentare

Hallo Gemeinde, bitte entschuldigt, dass meine Batch-Kenntnisse begrenzt sind. Ich möchte eine Datei zum Sichern auf ein Netzlaufwerk kopieren. ...

Batch & Shell

Batch - Textdatei - Zeilen auslesen und unbestimmte Zeichenfolge suchen

Frage von fragestellerBatch & Shell1 Kommentar

Hallo zusammen, ich bin neu hier und entschuldigt, falls diese Frage schon mal gestellt wurde. Ich suche zwei Funktionen, ...

Batch & Shell

Per Batch nur neueste Datei mit bestimmten Dateianfang kopieren

gelöst Frage von Peter32Batch & Shell3 Kommentare

Hallo, ich habe schon einiges gegoogled, allerdings habe ich noch keine 100%ige Lösung für mein Problem gefunden. Ich habe ...

Batch & Shell

Dateien suchen, kopieren und sortieren

Frage von BAD1HORBatch & Shell6 Kommentare

Hallo, folgendes Problem: Dateien, die auf einem Laufwerk monatsweise in Ordnern abgelegt sind, sollen per Batch auf ein anderes ...

Neue Wissensbeiträge
Sonstige Systeme
Es war einmal ein BeOS - Wer erinnert sich noch?
Information von BassFishFox vor 1 TagSonstige Systeme5 Kommentare

Hallo, Bin gerade ueber Haiku gestolpert, von dessen Existenz als "Nachfolger des BeOS" ich wusste nur mich nie wirklich ...

Datenschutz

Microsoft und DSGVO - ob das wohl jemals klappt (Probleme beim Datenabfluss für Office Pro Plus)?

Tipp von VGem-e vor 1 TagDatenschutz3 Kommentare

Servus Kollegen, siehe Aber wer setzt schon MS Office Pro Plus ein? Wie dann der Stand beim "normalen" MS ...

Windows 10

Macht Windows 10.1809 Probleme mit gemappten Netzlaufwerken (betrifft wohl insbes. AMD-Hardware und Trend Micro AV-Produkte)?

Tipp von VGem-e vor 1 TagWindows 103 Kommentare

Moin Kollegen, grad dazu gefunden und Hatten wir dies nicht bei früheren W10-Upgrades ebenfalls? Da bleibt nur, das Upgrade ...

Humor (lol)

Das neue Miniatur Wunderland OFFICIAL VIDEO - worlds largest model railway - railroad

Information von StefanKittel vor 2 TagenHumor (lol)2 Kommentare

Hallo, wer noch nie im Miniatur Wunderland war, sollte es dringend mal nachholen. Es gibt eine neues Video. Viele ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Gäste-WLAN durch DD-WRT AP nach einem MikroTik Routerboard
Frage von NukolarLAN, WAN, Wireless16 Kommentare

Hallo, wie der Titel schon sagt möchte ich gerne ein Gäste-WLAN innerhalb eines bestehenden LANs einrichten. Dass die Gäste ...

DSL, VDSL
DSL Monitoring Tool - Quick and dirty?
Frage von george44DSL, VDSL15 Kommentare

Liebe Gemeinde, ich suche ein einfaches und vor allem schnell zu installierendes Monitoring-Tool zur kontinuierlichen Dokumentation (nur) der Internetanbindung. ...

Exchange Server
Outlook findet Postfach nicht
Frage von MaximaxExchange Server11 Kommentare

Hallo, und zwar haben wir auf der Arbeit ein kleines (großes) Exchange 2016 Problem. Exchange meldete gestern, dass die ...

Informationsdienste
Probleme auf dem Server
Frage von LangeLangeInformationsdienste9 Kommentare

Hallo zusammen, ich betreibe die Seite Keine Werbelinks. In der Analyse stellen wir fest, dass die Ladezeit in der ...