Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Script für die Editierung einer .txt Datei

Frage Microsoft Windows Server

Mitglied: Ironhead-Hayns

Ironhead-Hayns (Level 1) - Jetzt verbinden

15.06.2012 um 09:25 Uhr, 2612 Aufrufe, 5 Kommentare

Hallo zusammen freut mich nun auch auf administrator.de dabei zu sein.

Ich habe ein Problem mit einer Txt Datei die ich nach User(Chef) Vorgaben automatisch via .bat oder .vbs (oder was auch immer hilft) editieren muss.Die Datei sieht wie folgt aus:
JOB D1011000

/* STONE-AUSLESEN DER FILECOUNT DATEI

RUN DAILY

RELEASE ADD(D1011001)

ENDJOB

JOB D1011001

/* STONE-ÄNDERN DER FILECOUNT DATEI

CCCHK RC(0:1) OK

RUN DAILY

RELEASE ADD(D1011998)

ENDJOB

Die Anzahl der Einträge(JOB...bis ENDJOB) kann stark variieren für Beispiel habe ich nur 2 Einträge ausgewählt, man sieht das diese Datei bis JOB 998 geht.
So nun zur Herausforderung: Alles was hinter dem /* steht muss mit einem"." hinter dem Eintrag in der Zeile darüber kopiert werden.Sodass diese so aussieht:JOB D1011000.STONE-AUSLESEN DER FILECOUNT DATEI

So das geht ja noch!! Dies hat allerdings zur Folge, das die oder der "RELEASE ADD" Eintrag der zum JOB Eintrag gehört genauso angepasst werden muss.Spricht müssten diese Einträge wie folgt geändert werden:RELEASE ADD(D1011001.STONE-ÄNDERN DER FILECOUNT DATEI)
Leider gibt es manchmal zum Job nur einen "RELEASE...." Eintrag manchmal aber auch mehrere.
Also soll meine Beispiel Datei nacher so aussehen:

JOB D1011000.STONE-AUSLESEN DER FILECOUNT DATEI

/* STONE-AUSLESEN DER FILECOUNT DATEI

RUN DAILY

RELEASE ADD(D1011001.STONE-ÄNDERN DER FILECOUNT DATEI)

ENDJOB

JOB D1011001.STONE-ÄNDERN DER FILECOUNT DATEI

/* STONE-AUSLESEN DER FILECOUNT DATEI

CCCHK RC(0:1) OK

RUN DAILY

RELEASE ADD(D1011998.ENDEVERARBEITUNG)

ENDJOB

Ich bin dabei mit meinem Batch Kenntnissen ziemlich schnell an Grenzen gestoßen. Ich denke mir das es Batch bald nicht geht. Ich habe aber leider leider in vbs oder Powershell oder sonst was keinerlei Erfahrungen. Ich danke euch schon mal vorab für eure Anregungen und Vorschläge!!!
Mitglied: Edi.Pfisterer
15.06.2012 um 10:18 Uhr
Hallo!
gerne würde ich Dir helfen, wenn ich nur die Vorgabe verstünde...

konkrete Frage:
unter welchen Umständen wird aus
release add

RELEASE ADD(D1011001.STONE-ÄNDERN DER FILECOUNT DATEI)
bzw.
RELEASE ADD(D1011998.ENDEVERARBEITUNG)

lg
Bitte warten ..
Mitglied: Ironhead-Hayns
15.06.2012 um 10:44 Uhr
Hallo ja stimmt das geht nicht wirklich eindeutig hervor.
Also das was hinter Job steht ist der Jobname! Dieser soll angepasst werden also von
Jobname:D1011001 nach Jobname:D1011001.STONE-ÄNDERN DER FILECOUNT DATEI
(Sinn der Aktion ist mir nicht ganz klar, soll aber wohl der Übersichtlichkeit dienen, damit Chef durchblicken kann)

Die Jobs dienen einem "anderen Programm" als Information welche Jobs zur sequentiellen Verarbeitung für heute dran sind, und welcher Job nach welchem Job läuft(RELEASE ADD (Jobname)) . Daher dient der Release Eintrag dem "anderen Programm" als Information welcher Job als nächstes dran ist. Da sich der Jobname ändert, findet das "andere Programm" nun unter (D1011001) nichts mehr da der Jobname nun D1011001.STONE-ÄNDERN DER FILECOUNT DATEI ist. Ergo die RELEASE ADD Eintrage müssen also genauso angepaast werden wie der JOB Eintrag. Der Rest ändert sich nicht.
Bitte warten ..
Mitglied: Edi.Pfisterer
18.06.2012 um 11:13 Uhr
Hallo!
ich habe jetzt zwar immer noch nicht herausgefunden, wann "auslesen der Filecount" bzw. "ändern der Filecount" bzw. "Ender der Verarbeitung" stehen soll....

wie dem auch sei:
abgesehen davon müsste folgendes funktionieren:

01.
datei = "text.txt" 
02.
datei1 = "neuetext.txt" 
03.
 
04.
Set fs = CreateObject("Scripting.FileSystemObject") 
05.
 
06.
Set File = fs.OpenTextFile(datei , 1, true) 
07.
        Do While not file.AtEndOfStream 
08.
                           zeile = (file.ReadLine) 
09.
                            
10.
                           If InStr(zeile,"JOB ") >=1 Then  
11.
                           Zeiletemp = zeile 
12.
                           Zeile = "" 
13.
                           End If 
14.
                            
15.
                                        
16.
                           If InStr(zeile,"/* ") >=1 Then  
17.
                           zeile = zeiletemp & zeile & vbCrLf & zeile 
18.
                            
19.
                           End If 
20.
                            
21.
                           If InStr(zeile,"RELEASE ADD") >=1 Then 
22.
                           zeile = Replace(zeile, ")",".STONE-ÄNDERN DER FILECOUNT DATEI)") 
23.
                           End if 
24.
                            
25.
                           If Len(zeile) >= 1 Then 
26.
                           ausgabe = ausgabe & zeile & vbCrLf 
27.
                           End if 
28.
           
29.
        Loop 
30.
         
31.
 
32.
set dateineu = fs.createtextfile(datei1, true) 
33.
dateineu.write  ausgabe
Sollte dem so sein, dann schließ mich bitte in Dein Abendgebet ein...

lg
Edi
Bitte warten ..
Mitglied: Ironhead-Hayns
18.06.2012 um 15:06 Uhr
Hallo Edi,
vielen Dank ich tüftel mal weiter, und gebe dann Info!!
Bitte warten ..
Mitglied: Edi.Pfisterer
18.06.2012 um 15:27 Uhr
Btw.
Der code ist .vbs
und du musst nur die ersten 2 zeilen ausbessern, zum tüfteln sollte es da eigentlich nichts mehr geben, der code funktioniert.
Lg
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (17)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...