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
Kommentar vom Moderator Dani am 06.01.2011 um 09:59:45 Uhr
Formatierung hinzugefügt.

Frage Entwicklung

GELÖST

Argument in VBS Script funktiiert nicht mehr....

Mitglied: svenac2010

svenac2010 (Level 1) - Jetzt verbinden

06.01.2011, aktualisiert 18.10.2012, 3421 Aufrufe, 11 Kommentare

Hallo,

ich exportiere Dateien aus einem Datensystem die wie folgt aufgebaut sind
01.
IM6262626|fdhdfh hthzhsfjrtsjsj|+++++++ Lösung ++++++++ 05.01.2011 10:07:09 (ISH.GWERGWERGHSE): 05.01.2011 09:59:48 (ISH.HWHWHZ): Incident took over  05.01.2011 09:57:00 (ISH.RFQTEG): Transfer to ISH.FWGSGDD with request for processing. 
02.
IM6262626|fdhdfh hthzhsfjrtsjsj|+++++++ Lösung ++++++++ 05.01.2011 10:07:09 (ISH.GSGHSDGH): 05.01.2011 09:59:48 (ISH.HWHWHZ): Incident took over  05.01.2011 09:57:00 (ISH.RFQTEG): Transfer to ISH.FWGSGDD with request for processing. 
03.
IM6262626|fdhdfh hthzhsfjrtsjsj|+++++++ Lösung ++++++++ 05.01.2011 10:07:09 (ISH.DFHDFJR): 05.01.2011 09:59:48 (ISH.HWHWHZ): Incident took over  05.01.2011 09:57:00 (ISH.RFQTEG): Transfer to ISH.FWGSGDD with request for processing. 
04.
IM6262626|fdhdfh hthzhsfjrtsjsj|+++++++ Lösung ++++++++ 05.01.2011 10:07:09 
Um mir die Files einzeln aufzugliedern verwende ich folgendes Script:
01.
If WScript.Arguments.Count < 1 Then 
02.
    WScript.Echo "Keine Textdatei als Paramter übergeben!" 
03.
    WScript.Quit 1 
04.
End If 
05.
 
06.
D = WScript.Arguments(0) 'Datei 
07.
 
08.
Set fso = CreateObject("Scripting.FileSystemObject") 
09.
T = fso.OpenTextFile(D).ReadAll 
10.
T = Replace(T, vbCrLf & "IM", vbCrLf & vbCrLf & "STOP*" & vbCrLf & "IM") 
11.
T = Replace(T, "|",vbCrLf & vbCrLf) 
12.
T = Replace(T, "+++++++ Lösung +++++++", "LÖSUNG:" & vbCrLf) 
13.
T = Replace(T, "+ ", "") 
14.
T = Replace(T, "): ", "):" & vbCrLf)  
15.
 
16.
Set rE = New RegExp 
17.
rE.Global = True 
18.
rE.Pattern = "(\d\d\.\d\d\.\d\d\d\d \d\d\:\d\d\:\d\d)" 
19.
fso.CreateTextFile(D).Write rE.Replace(T, vbCrLf & vbCrLf & "$1")
Bis letzte Woche hat es noch ohne Probleme funktioniert, aber seit heute Splittet er dieses nicht mehr entsprechend.
D.h. er teilt die Datei zwar entsprechend |; (ISH. ect. auf
nur bei IMXXXXX und einem Absatz setzt er nicht mehr das STOP
01.
Zeile: T = Replace(T, vbCrLf & "IM", vbCrLf & vbCrLf & "STOP*" & vbCrLf & "IM")
Was ist im Script falsch?
Mitglied: 76109
06.01.2011 um 08:32 Uhr
Hallo svenac2010!

Eingabe-Beispiele hast Du angegeben, aber wie soll das Ergebnis Aussehen?

Ist etwas schwierig, dass anhand Deines Codes herauszufinden, zumal der ja - wie Du schreibst - eh nicht mehr funktioniert

Gruß Dieter

PS. Und setze Dein Eingabe-Beispiel in Code-Tags (siehe Formatierungshilfe), damit alle Text- und Steuerzeichen erhalten bleiben...
Bitte warten ..
Mitglied: svenac2010
06.01.2011 um 09:41 Uhr
Maßeblich ist eigentlich nur die Zeile

T = Replace(T, vbCrLf & "IM", vbCrLf & vbCrLf & "STOP*" & vbCrLf & "IM")

Hier soll wenn er im Textfile einen Absatz gefolgt von "IM" findet diesen
mit Absatzt, Absatz "STOP*" Absatz "IM" setzen

Beispiel:
IMXXXX dgwgg rgtawrzr erarezeraz
IMXXXX gergeragt geartera geterat

in:

IMXXXX dgwgg rgtawrzr erarezeraz


STOP*

IMXXXX gergeragt geartera geterat

alle anderen Einrückungen und Veränderungen führt er durch. Halt nur das WORT STOP setzt er als Erkennungsmarke nicht
Bitte warten ..
Mitglied: bastla
06.01.2011, aktualisiert 18.10.2012
Hallo svenac2010!

Das gepostete Script erzeugt aus den geposteten Daten (auszugsweise)
01.
... 
02.
Transfer to ISH.FWGSGDD with request for processing. 
03.
 
04.
STOP* 
05.
IM6262626 
06.
 
07.
fdhdfh hthzhsfjrtsjsj 
08.
 
09.
LÖSUNG: 
10.
...
- insofern kann ich das Problem nicht nachvollziehen ...
@Dieter
Hier findest Du (etwas) mehr dazu ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
06.01.2011, aktualisiert 18.10.2012
Hallo Baslta!

Zitat von bastla:
@Dieter
Hier findest Du (etwas) mehr dazu ...
Danke für den Hinweis!

Hatte ich mir anhand der Variablen-Bezeichnungen schon gedacht, dass das Skript von Dir ist

@Dani
Nett von Dir, den Text/Code in Code-Tags zu setzen

Gruß Dieter
Bitte warten ..
Mitglied: svenac2010
06.01.2011 um 13:53 Uhr
Hallo, leider funktioniert es immer noch nicht.

Ich kann euch gern mal ein txt File zur verfügung stellen, welches umgewandelt werden soll.
Bitte warten ..
Mitglied: 76109
06.01.2011 um 14:30 Uhr
Hallo svenac2010!

Versuchs mal hiermit:
01.
If WScript.Arguments.Count < 1 Then 
02.
    WScript.Echo "Keine Textdatei als Paramter übergeben!":    WScript.Quit 1 
03.
End If 
04.
 
05.
Path = WScript.Arguments(0) 
06.
 
07.
Set Re = New RegExp 
08.
Set Fso = CreateObject("Scripting.FileSystemObject") 
09.
 
10.
Text = Fso.OpenTextFile(Path).ReadAll 
11.
 
12.
Re.Global = True 
13.
 
14.
Re.Pattern = "(IM\d+\|)" 
15.
Text = Re.Replace(Text, vbCrLf & vbCrLf & "STOP*" & vbCrLf & "$1") 
16.
 
17.
Re.Pattern = "(\d+.\d+.\d+ \d+:\d+:\d+)" 
18.
Text = Re.Replace(Text, vbCrLf & vbCrLf & "$1") 
19.
 
20.
'Suchen, Ersetzen (# steht für vbCrLf) 
21.
ReplaceText = Array("|", "##", _ 
22.
                    "+++++++ Lösung +++++++ ", "LÖSUNG:#", _ 
23.
                    "(ISH.", "##(ISH.", _ 
24.
                    "): ", "):##" _ 
25.
26.
 
27.
For i = 0 To UBound(ReplaceText) Step 2 
28.
    Text = Replace(Text, Replace(ReplaceText(i), "#", vbCrLf), Replace(ReplaceText(i + 1), "#", vbCrLf)) 
29.
Next 
30.
 
31.
Fso.CreateTextFile(Path).Write Text
Wobei mir u.a. nicht klar ist, ob's jetzt 7x(+)-Zeichen - wie im Code - oder 8x(+)-Zeichen - wie in Deinem Beispiel - sind?

Gruß Dieter

[edit] geändert [/edit]
Bitte warten ..
Mitglied: svenac2010
06.01.2011 um 14:57 Uhr
Danke für die Antwort und für das Beispielscript.

Nach dem IM sind 8 weitere Stellen

im Test erzeugt er zwar ein STOP* beim ersten IM
setzt aber vorab 2 Umbrüche, danach ist aber beim nächsten IM UMbruch, kein STOP* mehr gesetzt.
Kann hier gern mal ein Beispiel File zukommen lassen, damit man den Inhalt der Datei besser versteht, wie der Aufbau ist.

Gruß Sven
Bitte warten ..
Mitglied: svenac2010
07.01.2011 um 06:55 Uhr
Ich denke es wurde hier intern an den Exportfile ( welches ich versuche mit STOP zu versehen) verändert.
ggf wäre für mich auch die Lösung nach folgendem String zu suchen

IMxxxxxxxx| (x=Zahl = Länge 8 Zeichen) und dieses dann mit
vbCrLf & vbCrLf & "STOP*" & vbCrLf & "IM" wie gehabt einzurücken
Bitte warten ..
Mitglied: 76109
07.01.2011 um 08:57 Uhr
Hallo Sven!

Neuer Versuch Den letzten Code habe ich entsprechend geändert.

Gruß Dieter
Bitte warten ..
Mitglied: svenac2010
07.01.2011 um 11:12 Uhr
Danke Dieter,
das hat wunderbar funktioniert..

Keine Ahnung was mal wieder geändert wurde, aber ich denke so wird das Script erstmal wieder ohne Probleme laufen.

Auf jedenfall eine ganz herzlichen Dank für die Hilfe.

Gruß Sven
Bitte warten ..
Mitglied: 76109
07.01.2011 um 11:48 Uhr
Hallo Sven!

Zitat von svenac2010:
Keine Ahnung was mal wieder geändert wurde, aber ich denke so wird das Script erstmal wieder ohne Probleme laufen.
Naja, anstatt - wie vorher - nach vbCrLf & "IM" zu suchen, weil eine Suche nach nur "IM" ziemlich unsicher ist, wird jetzt explicit nach "IM#|" gesucht, wobei die Anzahl der Zahlen (#) variabel sein darf.
Auf jedenfall eine ganz herzlichen Dank für die Hilfe.
Yepp, gern geschehen

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Python
Py2exe - Pyton-Script in .exe wandeln mit Übergabe eines Arguments
Frage von BlattlausOGPython9 Kommentare

Hallo zusammen, ich nutze py2exe um einen bestehenden Python-Source-Code in Windows ausführbar zu machen. Generell funktioniert mein Vorhaben, die ...

VB for Applications
VBS Script kann Prgramm nicht starten
gelöst Frage von C.BoernerVB for Applications15 Kommentare

Hallo ihr Admins, Ich habe folgendes Scenarios ein Programm läuft im Hintergrund (Drivve-Image) das übergibt Werte an ein VBS ...

Batch & Shell
Hilfe Bei einem vbs Script
gelöst Frage von Hattori-HanzoBatch & Shell19 Kommentare

Hey Leute Könnt ihr mir bitte sagen was daran falsch ist? beschäftige mich erst seit kurzem mit vbs scripts. ...

JavaScript
VBS-Script wird nicht vollständig ausgeführt
Frage von HousefrauJavaScript3 Kommentare

Hallo zusammen, wir lassen über eine Gruppenrichtlinie einen Script ausführen, welcher die Drucker der einzelnen Parteien mappen soll. Leider ...

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

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

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

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

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