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

Bestimmte Textstellen (immer fest) einer Textdatei per Batch ändern

Frage Entwicklung Batch & Shell

Mitglied: daki

daki (Level 1) - Jetzt verbinden

07.03.2011 um 08:48 Uhr, 6278 Aufrufe, 5 Kommentare

Hallo Forum,

ich habe hier eine Textdatei mit Tankstellenauswertungen. Zeilenweise sieht die Datei z.B. so aus:

A0000656000000001200000000003039860005058000000261110212500E

Aussehen soll die Datei aber nach der Bearbeitung so:

A1300656000001301200000000003039860005058000000261110212500E

Das heisst:

Die Stellen 2-3 sollen von "00" auf "13" abgeändert werden, genau wie die stellen 14-15 von "00" auf "13" abgeändert werden sollen.

Die länge des Datensatzes ist immer gleich, es soll einfach immer egal was drinsteht 2-3 und 14-15 auf "13" geändert werden, und zwar bei jeder Zeile.

dürfte normal möglich sein, da ich es mit 2-3 schon geschafft habe. (Einfach A00 durch A13 ersetzen) jedoch wünsche ich mir was handfestes welches nicht zwingend "00" als Vorlage voraussetzt.

vielen Dank für die Hilfe

mfG

Daniel
Mitglied: Ralph4
07.03.2011 um 09:29 Uhr
Hallo Daniel,

dies ist nicht ganz so einfach es sei denn die ersten 15 Ziffern sind immer gleich, wovon ich erst einmal nicht ausgehe.
Aus diesem Grunde benötigst du ein parser Progamm weilches die betreffenden Positionen (2und3 sowie 14 und 15) austauscht und danach die Datei wieder schließt.
Ich würde dieses, an deiner Stelle, im VBS programmieren. Hier ein Link der dir vieleicht weiterhilft.
http://www.lockergnome.com/sqlsquirrel/2007/12/18/how-to-parse-a-text-f ...
Bitte warten ..
Mitglied: pieh-ejdsch
07.03.2011 um 10:31 Uhr
moin daki,

Verwirrung...
sollen die Zeichen nun nur ersetzt werden, wenn es nur bestimmte Zeichen an den Entsprechenden Stellen sind oder ist es egal, was an diesen Stellen steht?

Gruß Phil
Bitte warten ..
Mitglied: Snowman25
07.03.2011 um 10:33 Uhr
Zitat von Ralph4:
dies ist nicht ganz so einfach es sei denn die ersten 15 Ziffern sind immer gleich

Wozu müssen die immer gleich sein? Muss man halt den String in Stückchen schneiden und ändern. Stört doch nicht SO arg.


Hallo daki,

Du könntest mal folgende Batch ausprobieren:
01.
@Echo off && setlocal enabledelayedexpansion 
02.
set Quelle=test.txt 
03.
set Ziel=test_neu.txt 
04.
for /F %%A in (%Quelle%) do ( 
05.
	if NOT %%A=="" ( 
06.
		call :procLine %%A 
07.
08.
09.
 
10.
goto eof 
11.
 
12.
:procLine 
13.
set string_0=%1 
14.
set string_1=%string_0:~0,1% 
15.
set string_2=%string_0:~3,10% 
16.
set string_3=%string_0:~15% 
17.
set string_full=%string_1%13%string_2%13%string_3% 
18.
echo %string_full%>>%Ziel% 
19.
 
20.
:eof
Quelle und Ziel natürlich nach Bedarf anpassen.

Gruß
Snow
Bitte warten ..
Mitglied: 60730
07.03.2011 um 10:47 Uhr
Moin,

angenommen es ist immer die gleiche Textdatei...
...und immer die gleichen zu ersetzenden Werte an der gleichen Stelle...

01.
setlocal 
02.
for /f %%a in (C:\script\searchNreplace\zahlen\org.ini) do set line=%%a & call:searchnreplace 
03.
goto :eof 
04.
:searchnreplace 
05.
if %line:~1,2%=00 if %line:~14,2%==00 echo %line:~0,1%13%line:~4,13%13%line:~16%>>C:\script\searchNreplace\zahlen\new.ini
Ich hoffe, du kannst das nachvollziehen.

Gruß

edit zu langsam - dafür aber ohne das @echo off (dafür aber auch ohne setlocal)
edit² - den Einwand von Pietsch hab ich durch die ganzen Ifs vor dem Echo einfach mal vorausgesetzt - falls das nicht so wäre - wie ich es gedacht habe, einfach die ifs weg lassen.
Bitte warten ..
Mitglied: daki
07.03.2011 um 14:18 Uhr
Hallo an Alle,

ich habe das Skript von Snowman25 probiert und - PERFEKT.

Ich danke auch allen anderen für Ihre Lösungen aber für mich ist das Problem hiermit erledigt und ich bedanke mich recht herzlich.

mfG

Daniel
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch zum ändern einer Textdatei
gelöst Frage von weboadmixBatch & Shell5 Kommentare

Hallo zusammen, suche hier etwas verzweifelt nach Hilfe, um mit einer Batchdatei eine Textdatei zu durchsuchen und eine Zeile ...

Batch & Shell
Per Batch Textstellen vertauschen
gelöst Frage von tefrackyBatch & Shell7 Kommentare

Hallo, es geht um folgenden Dateiausschnitt aus einer Test.xml: Leider hat der Server, auf den ich keinen Zugriff habe, ...

Batch & Shell
Bestimmte Zeile einer Textdatei mit Batch auslesen
gelöst Frage von PinkFLuffyUnicornBatch & Shell2 Kommentare

Hi, ich habe ein kleines Batch Script, welches mir den Status der Firewall ausgeben soll(ob an oder aus) der ...

Batch & Shell
Bestimmten Bereich einer Textdatei ausgeben mittels Batch
gelöst Frage von Django.DuranoBatch & Shell10 Kommentare

Hallo, gibt es eine Möglichkeit eine Textdatei mittels Batch zu durchsuchen und einen bestimmten Teil davon dann aber nur ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter wieder installieren auf einer frischen Windows-Installation

Tipp von Lochkartenstanzer vor 13 StundenMicrosoft Office1 Kommentar

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 15 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 16 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 19 StundenMicrosoft Office1 Kommentar

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Server-Hardware
Veeam Backup Server stürzt alle paar Tage ab
Frage von Leo-leServer-Hardware11 Kommentare

Hallo Forum, ich habe momentan folgendes Problem. Veeam Backup and Replication 9.5 u2 auf voll gepatchten DL 380 G7 ...

Windows 10
Win10 Laptop findet keine Netzwerkgeräte und Freigaben mehr
Frage von CoolzeroWindows 1010 Kommentare

Hi, seit ein paar Tagen habe ich das Problem das mein Windows 10 Laptop keine Geräte mehr in der ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell10 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...