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, 3214 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
Wlan-adapter such algorithmus in batch
gelöst Frage von TicoWriteBatch & Shell7 Kommentare

Hallo zusammen, Ich möchte einen Wlan-adpater such algorithmus in batch erstellen, dazu fehlt mir aber der befehl in Dos. ...

Batch & Shell

Bestimmte Zeilen in einer Batch Datei löschen und die Datei neu speichern

Frage von nowyouseeme93Batch & Shell1 Kommentar

Share I$ H$ C$ F:\Benutzerservice\meineDaten G$ D$ F$ bilder H:\MeineDaten\Geheim Reports NetUser Telefonbuch F:\Intranet\Anwendungen\Nummern\Privat mitarbeiter mitteilungen Presse SocialMedia So ...

Batch & Shell

BATCH ini Datei Datei auslesen

gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell

Batch Datei Ordnerüberwachung

Frage von Phant0xBatch & Shell1 Kommentar

Hallo zusammen, könntet ihr mir helfen eine Batch Datei zu schreiben, die einen bestimmten Ordner kontrolliert, ob sich Dateien ...

Neue Wissensbeiträge
Windows Server

Zähe Update-Installation auf Windows Server 2016

Information von kgborn vor 1 TagWindows Server4 Kommentare

Mir sind in der Vergangenheit immer wieder Beschwerden von Admins unter die Augen gekommen, die sich über die doch ...

Humor (lol)
Turnschuhe per Firmware lahmlegen
Information von Henere vor 1 TagHumor (lol)6 Kommentare

Und was kommt demnächst ? Bekomme ich kein Klopapier mehr, weil der Spender einem DDOS unterliegt ? :-) Ich ...

Sicherheit

Sicherheitsrisiko in WinRAR und Co. durch Schwachstelle in UNACEV2.DLL

Information von kgborn vor 1 TagSicherheit

In der seit 2005 nicht mehr aktualisierten Bibliothek UNACEV2.DLL gibt es eine Path-Traversal-Schwachstelle. Diese ermöglicht es, bei ACE-Archiven Dateien ...

Internet

CDU Propaganda: Urheberschutz im Internet - Ende des digitalen Wild-West

Information von Frank vor 2 TagenInternet6 Kommentare

Hallo Administratoren, aus einem Kommentar heraus habe ich folgenden Beiträge von Herr Sven Schulze und Axel Voss (beide CDU ...

Heiß diskutierte Inhalte
Hardware
Frage an Kenner von 5,25 Zoll Laufwerken
Frage von DerWoWussteHardware54 Kommentare

Moin Kollegen. Hier wird gerade im Archiv gewühlt und 5,25 Zoll Disketten ("2S/HD", 96TPI) sollen eingelesen werden. Ich habe ...

Windows Tools
Dateiname Automatisch auf PDF Klartext oder als Barcode abdrucken
Frage von spongebob24Windows Tools29 Kommentare

Hallo Zusammen, habe eine tolle Anforderung bekommen. Ich sollte auf mehrere PDF Dateien Automatisch einen Stempel anbringen lassen. Toll ...

Internet
SDSL oder ADSL - Preis-Leistungs-Verhältnis
Frage von ZeppelinInternet22 Kommentare

Wehrte Community, der Unterschied dieser beiden Techniken ist recht einfach erklärt. Das S, steht für Synchron (Gleich) und das ...

Microsoft Office
MicroSoft und seine Lizenzen
Frage von ZeppelinMicrosoft Office19 Kommentare

Wehrte Community, ich wende mich an die Community weil MicroSoft dazu keine Stellung nehmen möchte. Ich öffne mein Web-Browser ...