Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Klammern und Inhalt der Klammern aus einem Text entfernen per Batch

Frage Entwicklung Batch & Shell

Mitglied: Thomas0204

Thomas0204 (Level 1) - Jetzt verbinden

22.10.2011 um 10:55 Uhr, 4206 Aufrufe, 3 Kommentare

Hey,
ich habe mal wieder ein Problem und zwar habe ich diesmal eine Text Datei wo die Klammern +Inahlt entfernt werden sollen.
Die Klammern bekommen ich entfern aber ich weiß nicht wie ich dazu noch den Inhalt entfernt bekomme.
Also die Texte Datei sieht ungefähr so aus:

Error (Fehlercode 5825) Probleme mit...
Fail [error 458d4] user...
Fail [error 458d4 drtd] user...

Nacher möchte ch alt nur noch so eine Textdatei haben:

Error Probleme mit...
Fail user...

Ich hoffe ihr könnt mir helfen
LG Thomas0204
Mitglied: Skyemugen
22.10.2011 um 11:49 Uhr
Aloha,

leider habe ich momentan nicht wirklich Zeit, daher nur ein halboptimaler Vorschlag von mir jetzt:
01.
for /f "usebackq tokens=1,2,* delims=()[]" %%s in ("E:\Skripte\datei.log") do >>"E:\Skripte\Ausgabe.txt" echo %%s%%u
in der Annahme, dass ()[] auch nur in den Fehlercodes vorkommen ...

halboptimal deshalb, weil du jetzt zwei Leerzeichen bekommst Error Probleme mit ...

... aber vielleicht schaffst du es ja, es selbst noch zum Optimalen hinzubauen (mit einem Unterprogramm)

greetz André
Bitte warten ..
Mitglied: Friemler
22.10.2011 um 11:54 Uhr
Hallo Thomas0204,

ich rate zu einem VBScript. Das Bearbeiten von Dateien mit beliebigem Inhalt gehört nicht zu den Stärken von Batchscript. Es gibt einige Zeichen, die den Batchinterpreter bei der Verarbeitung durcheinander bringen.

Teste mal das hier:
01.
'Ein- und Ausgabedatei hier eintragen 
02.
strInFile   = "Test.txt" 
03.
strOutFile  = "Test neu.txt" 
04.
 
05.
'Alle Arten von Klammern 
06.
arrBrackets = Array("()", "[]", "{}", "<>") 
07.
 
08.
 
09.
Const ForReading = 1 
10.
 
11.
'Das Klammer-Array tauglich machen 
12.
'als Suchmuster für Reguläre Ausdrücke. 
13.
'.* steht für alle Zeichen, die zwischen 
14.
'den Klammern stehen, die Klammern 
15.
'müssen mit \ escaped werden, da sie 
16.
'zur Syntax von Regulären Ausdrücken gehören. 
17.
' {0,1} bewirkt, dass zusätzlich zu der zu 
18.
'löschenden Klammer auch noch EIN 
19.
'nachfolgendes Leerzeichen gelöscht wird, 
20.
'wenn es denn vorhanden ist. 
21.
For I = 0 To UBound(arrBrackets) 
22.
  arrBrackets(I) = Replace(arrBrackets(I), "()", "\(.*\) {0,1}") 
23.
  arrBrackets(I) = Replace(arrBrackets(I), "[]", "\[.*\] {0,1}") 
24.
  arrBrackets(I) = Replace(arrBrackets(I), "{}", "\{.*\} {0,1}") 
25.
  arrBrackets(I) = Replace(arrBrackets(I), "<>", "<.*> {0,1}") 
26.
Next 
27.
 
28.
'Dateisystemobjekt erzeugen 
29.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
30.
 
31.
'Eingabedatei öffnen, auslesen und wieder schließen 
32.
Set objInFile = objFSO.OpenTextFile(strInFile, ForReading, False) 
33.
strContent    = objInFile.ReadAll 
34.
objInFile.Close 
35.
 
36.
'Objekt für Reguläre Ausdrücke erzeugen und einstellen, 
37.
'dass alle Fundstellen berücksichtigt werden sollen 
38.
Set objRegExp    = New RegExp 
39.
objRegExp.Global = True 
40.
 
41.
'Alle Klammerarten suchen und ersetzen 
42.
For Each strBrackets In arrBrackets 
43.
  objRegExp.Pattern = strBrackets 
44.
  strContent = objRegExp.Replace(strContent, "") 
45.
Next 
46.
 
47.
'Ausgabedatei öffnen und 
48.
'den veränderten Dateiinhalt in neue Datei schreiben 
49.
'Ausgabedatei schließen 
50.
Set objOutFile = objFSO.CreateTextFile(strOutFile, True) 
51.
objOutFile.Write strContent 
52.
objOutFile.Close
Zeile 2 und 3 musst Du anpassen, den Code als VBS-Datei speichern und das Script dann folgendermaßen starten:
cscript /nologo "PfadUndNameDesScripts.vbs"
Gruß
Friemler
Bitte warten ..
Mitglied: Thomas0204
22.10.2011 um 12:17 Uhr
@Skyemugen
Deine lösung war völlig ausreichend Danke
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch Leerzeichen in nur bestimmten Spalten entfernen? (2)

Frage von Komoran12 zum Thema Batch & Shell ...

Batch & Shell
gelöst Text Datei bestimmte Bereiche lesen und in neue Text schreiben (3)

Frage von TurboD zum Thema Batch & Shell ...

Batch & Shell
gelöst Zeilenumbruch-Zeilen-Vorschub entfernen? (Batch) (9)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Automatische Erzeugung von Batch-Dateien mit definierten unterschiedlichen Inhalten (2)

Frage von Booster07 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...