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

Zeichen in .txt durch batch ersetzen

Frage Entwicklung Batch & Shell

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

06.05.2009, aktualisiert 11:49 Uhr, 11256 Aufrufe, 8 Kommentare, 1 Danke

Hi,

ich habe ich in dem Forum schon etwas umgeschaut, aber ich bin nicht an mein Ziel gekommen.

Ich benötige eine batch-Datei, die mir in einer txt-Datei (z.B. test.txt) nach den Zeichen < > sucht und diese beide Zeichen durch ein Leerzeichen ersetzt.

Ich bin für jede Hilfe dankbar.
Vielen Dank schon mal

Matze
Mitglied: 78322
06.05.2009 um 12:01 Uhr
Möchtest du eine .txt in eine .bat umwandeln oder möchtest du einen Text durchsuchen lassen ?
Bitte warten ..
Mitglied: mabue88
06.05.2009 um 12:02 Uhr
Ich möchte eine bestehende txt-Datei durchsuchen lassen und diese ändern lassen. Die Batch soll dabei diese Aufgaben ausführen.
Bitte warten ..
Mitglied: Biber
06.05.2009 um 12:40 Uhr
Moin mabue88,

dazu wäre ein 5-Zeiler in VBSkript eleganter und angebrachter.

Hatten wir auch schon mehrfach - suche mal nach "ReadAll" in der Forumssuche

Grobe Skizze für eine schnipsel.vbs [absolut ungetestet]
01.
strQuelle = "c:\test\original\DeinText.txt" 
02.
' strZiel = "c:\test\kopie\Deintext.txt" 
03.
 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
strContent = Replace(Replace(fso.OpenTextFile(strQuelle, 1).ReadAll, "<",""), ">","")) 
06.
 
07.
WScript.echo strContent 
08.
.... 
09.
' und dann strContent in eine neue (oder alte) Datei schreiben. 
10.
...
Grüße
Biber
Bitte warten ..
Mitglied: Der-Phil
06.05.2009 um 12:54 Uhr
Hi!

Nicht schön, aber einfach:
Nutzer in der Batch-Datei "SED": http://gnuwin32.sourceforge.net/packages/sed.htm

Damit kannst Du richtig einfach Zeichen ersetzen.

Phil
Bitte warten ..
Mitglied: akrupp2
08.05.2009 um 10:56 Uhr
Hi,
damit ist doch die Frage von mabue88, wie man das mit einem Batch-Skript löst, nicht beantwortet, oder?
Ich hab nämlich ein ähnliches Problem:

Ich habe ein Skript geschrieben, welches aus einer Ersetzungsliste den "Suchstring" und den "Ersetzenstring" holt und in einer Datei die entsprechenden Strings sucht und durch einen anderen ersetzt.
Dies alles klappt auch wunderbar -jedenfalls in meiner angelegten Testdatei -. Nun habe ich das Problem, dass in der Eigentlichen Textdatei auch das Zeichen ">" vorkommt, welches zum folgenden Problem führt.
Beispiel:

Ersetzungsliste:
String1|String2
String3|String4

Meine Testdatei sah vorher so aus:
text text etxt text text String1 Test text text bla bla bla
bla blubb blubber bla bla text String3 bla blubb text text
-----------------------------------------------------------´


Nach ausführen des Skriptes sah die Testdatei so aus:
text text etxt text text String2 Test text text bla bla bla
bla blubb blubber bla bla text String4 bla blubb text text
Also zunächst alles schön und gut. Habe mich natürlich gefreut, dass das so gut klappt.
Jetzt ist es aber so, dass die eigentlich Originaldatei beispielsweise so aussieht:
text text etxt text text <String1> Test text text bla bla bla
bla blubb blubber bla bla text <String3> bla blubb text text
Und schon funktioniert das Skript nicht mehr. Stattdessen werden Dateien Namens: "Test" und "bla" angelegt, die als inhalt dn String bis tzu diesem Zeichen festhalten (z.B.: text text etxt text text <String1)
Dummerweise wird das Zeichen ">" beim suchen als falsch interpretiert. Anstatt dieses Zeichen als einfaches Textzeichen zu behandeln, wird es als Befehl, die vorhergehenden Zeichen in die Datei mit dem Namen, der nach dem ">" folgenden Zeichenkette, zu schreiben.

Hat da jemand ne Idee, wie ich es schaffe, dass das ">" als einfaches Textzeichen behandelt wird?
Bitte warten ..
Mitglied: Biber
08.05.2009 um 12:18 Uhr
Moin akrupp2,

Hat da jemand ne Idee, wie ich es schaffe, dass das ">" als einfaches Textzeichen behandelt wird?
Ich würde dieses Zeichen maskieren.

Mit welchem Tool SED versuchst Du es denn gerade und wie werden dort Zeichen maskiert?
Doch vermutlich mit einem "\", oder was sagt die Hilfe?

Grüße
Biber
Bitte warten ..
Mitglied: akrupp2
08.05.2009 um 13:54 Uhr
Ich benutze gar kein Tool. Wird alles mit Batch-Skript Befehlen gelöst.
Ich hab aber jetzt ne Möglichkeit gefunden, wie er das Zeichen nicht als Steuerzeichen verwendet, jedoch habe ich dann an der Stelle die "Anführungszeichen" zu viel.

Wenn ich beim zurückschreiben der geänderten Zeile:

t= temp.tmp
L= 'Die Zeile mit den Ersetzten Werten'

>>"%t%" ECHO "%L%" STATT: >>"%t%" ECHO %L% schreibe, dann geht es.

Das Ergebins ist dann jedoch nicht mehr <String2>, sondern "<String2>"

Soll eigentlich nicht so sein.
Bitte warten ..
Mitglied: akrupp2
08.05.2009 um 16:17 Uhr
Ich bin mittlerweile am überlegen, ob ich das nicht besser mit VB lösen sollte, aber da hab ich auch leider nicht wirklich einen Plan wie. Ich hab in VB auch nur Basics drauf. Prinzipiell wäre es für mich kein Problem so lange zu tüfteln und zu suchen bis ich mir es selbst beigebracht habe, wenn da nicht der Zeitdruck wäre.
Ich versuche mal mein Problem (möglichst verständlich) zu erklären:


HINTERGRUNDINFORMATION
Ich bin auf meiner Arbeit verantwortlich für die Administration sämtlicher Korrespondenzvorlagen. Diese Brief- und Vertragsvorlagen basieren aber nicht auf Word. Wir verwenden dafür ein Korrespondenz-tool namens Thunderhead, welches wie eine Art Content Management System funktioniert.

Die Vorlagen werden über das "Business Content Studio" erstellt. Diese Vorlagen bestehen jedoch nicht nur aus einfachem Text sondern auch aus Datenbankfeldern, sog. manuelle Felder (die bei der Brieferstellung über eine Eingabemaske befüllt werden) und diversen Regeln, die einzelne Textpassagen in Abhängigkeit von den Eingaben steuern.
Nun kam unsere IT auf die Idee Die Datenbanken nicht mehr getrennt für Deutschland und International zu verwalten, sondern nur noch eine globale Datenbank zu verwenden. Dies hat zur Folge, dass die Datenbankfelder nun andere Namen haben.
Für mein Team heißt das nun, dass wir in jedes Template hingehen und die alten Datenbankfelder(bzw. Platzhalter) gegen die nun neuen Felder austauschen müssen. Bei einem Scope von ca. 500 Vorlagen und durchschnittlich 20 Feldern pro Vorlage, wäre das einige Wochen arbeit.
Da die Templates aber auf dem Server in Form von XML-Dateien liegen, kam mir die Idee, dass wir nicht über das Tool arbeiten, sondern direkt in der Rohdatei (XML-Datei), über ein Suchen / Ersetzen Skript die entsprechenden Felder austauschen.

Die XML-Datei sieht in etwa so aus (Ausschnitt):

<?xml version="1.0" ?>
- <!-- generated by Thunderhead.Content, Version=3.0.12.0, Culture=neutral, PublicKeyToken=84c666f5e68a8973
-->
- <docdef version="3.0" bo-name="Human_Resources" bo-class="Th_180000251*_Human_Resources" styleset="190000626">
<script language="JavaScript" />
- <channel channel="2" template="190000624">
<sectionmap section="Letter Block" region="Letter Body" />
<sectionmap section="Page Number" region="Page Number" />
<sectionmap section="Letter Footer" region="Footer" />
<sectionmap section="DB Logo" region="Company Logo" />
<sectionmap section="Adressblock Customer" region="Address Customer" />
<sectionmap section="Adress DB" region="Address DB" />
- <setproperty name="display-width">
<string>210mm</string>
</setproperty>
</channel>
- <section id="2" name="Document" edit-groups="*">
- <section id="57" name="DB Logo">
- <fraglink id="73" resid="190000861">
- <argvalue name="Unternehmen">
<var name="Human_Resources.db_people_Datenfelder.Absenderinformationen.Unternehmen" type="string" />
</argvalue>
- <argvalue name="Region">
<var name="Human_Resources.db_people_Datenfelder.Absenderinformationen.Region" type="string" />
</argvalue>
</fraglink>
</section>


In diesem XML-Ausschnitt befinden sich zwei Datenbankobjekte:

"Human_Resources.db_people_Datenfelder.Absenderinformationen.Unternehmen"
"Human_Resources.db_people_Datenfelder.Absenderinformationen.Region"

Die Durch folgende Datenbankobjekte ausgetauscht werden müssen:

"Applications_type.db_people_gbl_data_fields.Sender_Data.Company_Description"
"Applications_type.db_people_gbl_data_fields.Sender_Data.Region"

Ich habe eine Liste in der die Information gespeichert ist, welches Feld durch welches ausgetauscht werden muss, die in etwa so aussieht:

Human_Resources.db_people_Datenfelder.Absenderinformationen.Unternehmen|Applications_type.db_people_gbl_data_fields.Sender_Data.Company_Description

Wie kann ich das am sinnvollsten lösen? Kann mir da jemand vielleicht helfen?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Tilde Zeichen per Batch ersetzen
gelöst Frage von Blackhawk386Batch & Shell6 Kommentare

Hi! Ich habe eine Datei in Textform, in der Umlaute per Batch umgewandelt werden müssen. Dazu habe ich hier ...

Batch & Shell
In txt file an bestimmter Position zeichen ersetzen, Ideen ?
gelöst Frage von buliwyfBatch & Shell7 Kommentare

EIn freundl. Hallo all ;-) mein Anliegen was mich jetzt 2 Tage beschaeftigt ist : wie kann ich in ...

Batch & Shell
Per Batch Zeichen in Textdatei durch zeilenumbruch ersetzen
Frage von CreamyCewieBatch & Shell3 Kommentare

Hallo, ich habe folgende textdatei (test.txt) "þUEBERþNþSKZþBELþVARTþ3þaaþ5 þacþL þadþ20150385#umbr# UEBERþNþBELDATER" ich brauche nun ein Batch-Script welches mir die gesamte TXT-Datei ...

Batch & Shell
Wie ersetze ich in einer .txt ein Lehrzeichen mit einen Zeilenumbruch?
gelöst Frage von AlexIOTBatch & Shell4 Kommentare

Hallo Zusammen, ich hoffe Ihr könnt mir helfen: folgende Ausgangssituation: Inhalt der .txt-Datei: Vorname Nachname, Abteilungskürzel <Mailadresse>; Vorname Nachname, ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office9 Kommentare

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 1 TagDatenbanken

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 1 TagSAN, 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 1 TagMicrosoft Office3 Kommentare

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

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

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 ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner14 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...