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

Frage Entwicklung Batch & Shell

GELÖST

Backslash mit maskierten (doppelten) Backslash in Textdatei ersetzen

Mitglied: WiSch

WiSch (Level 1) - Jetzt verbinden

11.01.2011, aktualisiert 15:46 Uhr, 5195 Aufrufe, 3 Kommentare

Hallo.

Hier habe ich schon einmal gefragt, wie man Textstellen per Batch-Script in einer Textdatei austauscht.
Das klappt wunderbar... bis auf ein neues Problem:

Aus einem Backslash soll ein maskierter, also doppelter Backslash werden.

Leider macht er aus einem nicht zwei sondern vier!
Erklären könnte ich mir das so:
Es wird der Backslash gefunden und durch zwei ersetzt.
Das nächste gefundene Zeichen ist (jetzt!) ja auch ein Backslash, der wiederrum ersetzt wird... usw.

Als Zwischenlösung habe ich das auch in zwei Schritten/Aufrufen versucht.
Soll heißen, ich habe den Backslash erst durch eine eigene, eindeutige Zeichenkette ersetzt und diese im zweiten Schritt durch den doppelten Backslash... funktioniert allerdings auch nicht?
<KORREKTUR> Die Zwischenlösung hat doch funktioiniert, hatte noch einen anderen Fehler im Script.

Wie kann ich das verhindern?
Leider sind mir zum Zeitpunkt des Austausches die Zeichen vor und/oder nach dem vorhandenen Backslash nicht bekannt, sodass ich diese nicht in mein Suchmuster
mit aufnehmen kann...


Danke für Eure Hilfe,
WiSch
Mitglied: 60730
11.01.2011 um 15:52 Uhr
moin,

sinnvoll wäre es deinen umgebauten Bastla zu kennen...

01.
@echo off & setlocal 
02.
set "Datei=GroupInfo_2.txt" 
03.
 
04.
set R=%temp%\Replace5.vbs 
05.
>%R%  echo F = WScript.Arguments(0) 
06.
>>%R% echo Set fso = CreateObject("Scripting.FileSystemObject") 
07.
>>%R% echo T = fso.OpenTextFile(F).ReadAll 
08.
>>%R% echo T = Replace(T, "\", "\\") 
09.
>>%R% echo fso.CreateTextFile(F).Write T  
10.
 
11.
for %%f in ("%Datei%") do cscript //nologo %R% "%%f"
Works as designed....

Gruß
Bitte warten ..
Mitglied: bastla
11.01.2011 um 15:58 Uhr
Hallo WiSch!

Nach dem ursprünglichen Muster funktioniert
01.
@echo off & setlocal 
02.
set "Datei=Datei.txt" 
03.
 
04.
set R=%temp%\ReplaceIt.vbs 
05.
>%R%  echo F = WScript.Arguments(0) 
06.
>>%R% echo Set fso = CreateObject("Scripting.FileSystemObject") 
07.
>>%R% echo T = fso.OpenTextFile(F).ReadAll 
08.
>>%R% echo T = Replace(T, "\", "\\") 
09.
>>%R% echo fso.CreateTextFile(F).Write T  
10.
 
11.
cscript //nologo %R% "%Datei%"
bei mir.

Grüße
bastla

[Edit] @T-Mo: Bist Du aber schnell ... [/Edit]
Bitte warten ..
Mitglied: WiSch
11.01.2011 um 16:48 Uhr
Hallo zusammen.

Was auch hilft: AUGEN AUF!

Ich habe genau Eure Lösung als erstes Versucht.
Leider dabei aber übersehen, das ich in meinem Script mehrere Dateien entsprechend anpassen will.
Copy'n'Paste ist dabei ok, aber nur, wenn man auch den Dateinamen dabei anpasst.

Letztlich bin ich aber trotzdem bei meiner Zwischenlösung geblieben, da in der ursprünglichen Datei der einfache und der doppelte Backslash vorkommen kann.
Korrigiert werden soll aber nur der Einfache, weshalb ich beide im ersten Schritt durch einen jeweils eindeutigen Platzhalter und dann im zweiten Schritt beide wieder zum doppelten Backslash ersetze.

Danke für die schnelle Hilfe, ich geh jetzt zum Optiker.

Grüße,
WiSch
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Powershell - In Textdatei suchen und ersetzen
gelöst Frage von Raaja89Batch & Shell5 Kommentare

Hallo Zusammen, ich habe einen Textdatei mit vielen aufeinander folgendenden Leerzeichen und wo an diversen Stellen Überschriften stehen. Ungefähr ...

Batch & Shell
Zeichenfolge in Textdatei durch Inhalt einer Umgebungsvariable ersetzen
gelöst Frage von SarekHLBatch & Shell7 Kommentare

Hallo zusammen, wie kann ich mittels Batch in einer Textdatei die Zeichenfolge durch den Inhalt der Umgebungsvariable %username% ersetzen? ...

Batch & Shell
Powershell csv importiert keine backslashes
Frage von Druide83Batch & Shell2 Kommentare

Guten Morgen, habe gerade ein Problem das ich so überhaupt nicht einordnen kann. Ich habe eine Excel mit UNC ...

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

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 3 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 3 TagenSicherheit11 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall9 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen9 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...