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

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, 4248 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
Batch Variable erzeugen mit Leerzeichen und Klammern
Beitrag von 11 Kommentare

Frage von hipfzwirgel zum Thema Batch & Shell

Batch & Shell
Batch Leerzeichen in nur bestimmten Spalten entfernen?
Beitrag von 2 Kommentare

Frage von Komoran12 zum Thema Batch & Shell

Batch & Shell
Text Datei bestimmte Bereiche lesen und in neue Text schreiben
Beitrag von 3 Kommentare

Frage von TurboD zum Thema Batch & Shell

Batch & Shell
Zeilenumbruch-Zeilen-Vorschub entfernen? (Batch)
Beitrag von 9 Kommentare

Frage von clragon zum Thema Batch & Shell

Neue Wissensbeiträge
Vmware

VMware Desktopprodukte sind verwundbar

Beitrag von

Information von Penny.Cilin zum Thema Vmware

Datenschutz

Session-Replay: Viele beliebte Webseiten zeichnen jegliche Texteingabe auf

Beitrag von

Information von Penny.Cilin zum Thema Datenschutz

Sicherheit

Zufällige Speicherzuweisung: Windows-Bug hebelt Sicherheitsmechanismus ASLR aus

Beitrag von

Information von Penny.Cilin zum Thema Sicherheit

Multimedia

Raspberry Pi als Digital-Signage-Computer

Beitrag von 1 Kommentar

Information von BassFishFox zum Thema Multimedia

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Beitrag von 24 Kommentare

Frage von ahstax zum Thema Visual Studio

Windows Server
RDP macht Server schneller???
Beitrag von 16 Kommentare

Frage von JaniDJ zum Thema Windows Server

Windows Netzwerk
Netzwerk Neustrukturierung
Beitrag von 16 Kommentare

Frage von IT-Dreamer zum Thema Windows Netzwerk

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Beitrag von 15 Kommentare

Frage von Akcent zum Thema Windows 10