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 Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen

Mitglied: aletri

aletri (Level 1) - Jetzt verbinden

12.12.2016 um 10:23 Uhr, 953 Aufrufe, 7 Kommentare

Guten Morgen an alle

Der folgende Vbscript fügt einer Texdatei eine bestimmte Zeile ein, das klappt soweit...
Nun sollte der Script diese Zeile nicht einfügen wenn Zeile (ungeachtet der Numerierung!!) bereits vorhanden ist!

01.
Dim objShell,appdata
02.
Set objShell = CreateObject("wscript.shell")
03.
appdata = objShell.ExpandEnvironmentStrings("%appdata%")
04.

05.
strNewLine = "SimObjectPaths.*=Addon Scenery\Europe\Italy\AnconaX\simobjects"
06.
strFileName = appdata & "\Microsoft\FSX\fsx.cfg"
07.

08.
Const FOR_READING = 1
09.
Const FOR_WRITING = 2
10.
strCheckForString = UCase("SimObjectPaths")
11.
Set objFS = CreateObject("Scripting.FileSystemObject")
12.
Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
13.
strContents = objTS.ReadAll
14.
objTS.Close
15.
arrLines = Split(strContents, vbNewLine)
16.
Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)
17.
For i = 0 To UBound(arrLines)
18.
  if Len(arrLines(i)) >= Len(strCheckForString) then
19.
    If Left(UCase(LTrim(arrLines(i))),Len(strCheckForString)) = strCheckForString and Left(UCase(LTrim(arrLines(i+1))),Len(strCheckForString)) <> strCheckForString Then
20.
        num = CInt(Split(Split(arrLines(i),".")(1),"=")(0)) + 1
21.
        objTS.WriteLine arrLines(i) & vbNewline & Replace(strNewLine,"*",num)
22.
    else
23.
        objTS.WriteLine arrLines(i)
24.
    End If
25.
Else
26.
    objTS.WriteLine arrLines(i)
27.
End if
28.
next
29.
objTS.Close
30.
Besten Dank in Voraus für Eure Hilfe!
Mitglied: emeriks
12.12.2016 um 11:42 Uhr
Hi,
entweder mit RegEx (nicht meine Stärke) oder Du prüfst das in einem extra Vorlauf

Wäre hilfreich, wenn Du diese Zeilen hier mal zeigen würdest.

E.
Bitte warten ..
Mitglied: aletri
12.12.2016 um 13:12 Uhr
Hallo emeriks

habs mit regEx so versucht....klappt mit text einfügen ...aber wenn Script wieder ausgeführt wird habe ich dann den doppelten Eintrag!!

01.
Dim objShell,appdata, regex, strContent, strFilename
02.
Set objShell = CreateObject("wscript.shell")
03.
Set objFS = CreateObject("Scripting.FileSystemObject")
04.
Set regex = CreateObject("vbscript.regexp")
05.
regex.Multiline = True: regex.IgnoreCase = True
06.
regex.Pattern = "SimObjPaths.*=Addon Scenery\Europe\Italy\AnconaX\simobjects"
07.

08.
appdata = objShell.ExpandEnvironmentStrings("%appdata%")
09.

10.

11.
strNewLine = "SimObjectPaths.*=Addon Scenery\Europe\Italy\AnconaX\simobjects"
12.
strFileName = appdata & "\Microsoft\FSX\fsx.cfg"
13.

14.
strContent = objFS.OpenTextFile(strFileName, 1).ReadAll()
15.
if not regex.Test(strContent) then
16.

17.
Const FOR_READING = 1
18.
Const FOR_WRITING = 2
19.
strCheckForString = UCase("SimObjectPaths")
20.
Set objFS = CreateObject("Scripting.FileSystemObject")
21.
Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
22.
strContents = objTS.ReadAll
23.
objTS.Close
24.
arrLines = Split(strContents, vbNewLine)
25.
Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)
26.
For i = 0 To UBound(arrLines)
27.
  if Len(arrLines(i)) >= Len(strCheckForString) then
28.
    If Left(UCase(LTrim(arrLines(i))),Len(strCheckForString)) = strCheckForString and Left(UCase(LTrim(arrLines(i+1))),Len(strCheckForString)) <> strCheckForString Then
29.
        num = CInt(Split(Split(arrLines(i),".")(1),"=")(0)) + 1
30.
        objTS.WriteLine arrLines(i) & vbNewline & Replace(strNewLine,"*",num)
31.
    else
32.
        objTS.WriteLine arrLines(i)
33.
    End If
34.
Else
35.
    objTS.WriteLine arrLines(i)
36.
End if
37.
next
38.
objTS.Close
39.
End if
40.
Bitte warten ..
Mitglied: emeriks
12.12.2016 um 15:41 Uhr
Wäre hilfreich, wenn Du diese Zeilen hier mal zeigen würdest.
Mein Text war vielleicht mißverständlich. Ich meine die Zeile(n) aus der Textdatei.
Bitte warten ..
Mitglied: 131381
13.12.2016 um 08:16 Uhr
regex.Pattern = "SimObjPaths.*=Addon Scenery\Europe\Italy\AnconaX\simobjects" 
Das kann ja bei dem Regex nichts werden... Backslashes und viele andere Sonderzeichen müssen im Pattern natürlich escaped werden.
01.
regex.Pattern = "SimObjPaths.*?=Addon Scenery\\Europe\\Italy\\AnconaX\\simobjects"
Gruß
Bitte warten ..
Mitglied: aletri
13.12.2016 um 09:49 Uhr
Hallo mikrotik
besten Dank....aber irgendwas mach ich falsch....bei mehrmahligem Ausführen des Scripts wird jedesmals neue Zeile "SimOjectPahts.nummer....usw erstellt und das sollte es nicht wenn schon "AnconaX" vorhanden ist.

Zur Veranschaulichung hier unten noch einen Auszug aus der Textadei:
01.
[Main]
02.
User Objects=Airplane, Helicopter
03.
SimObjectPaths.0=SimObjects\Airplanes
04.
SimObjectPaths.1=SimObjects\Rotorcraft
05.
SimObjectPaths.2=SimObjects\GroundVehicles
06.
SimObjectPaths.3=SimObjects\Boats
07.
SimObjectPaths.4=SimObjects\Animals
08.
SimObjectPaths.5=SimObjects\Misc
09.
Maximized=2
10.
Location=320,136,1360,914,\\.\DISPLAY1
11.
HideMenuNormal=0
12.
HideMenuFullscreen=1
13.
ProcSpeed=9249
14.
PerfBucket=7
15.

16.
[PANELS]
17.
IMAGE_QUALITY=1
18.
QUICKTI
19.
Bitte warten ..
Mitglied: 131381
LÖSUNG 13.12.2016, aktualisiert um 10:03 Uhr
SimObjectPaths
Schau dir den Regex und deine Textdatei nochmal an, dann siehst du den Fehler SimObjPaths

Mal wieder nicht gefrühstückt was
Bitte warten ..
Mitglied: aletri
13.12.2016 um 10:19 Uhr
Hallo mikrotik
hattest Recht.....hatte nicht gefrühstückt?!? (manchmal sieht man vor lauter Bäume den Wald nicht!!)
Klappt alles..Tausend Dank
Gruss
aletri
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Vbscript bestimmte Zeile ungeachtet der Nummerierung löschen

gelöst Frage von aletriVB for Applications4 Kommentare

Guten Tag an alle Mit folgendem Script lässt sich eine bestimmte Zeile nämlich: "SimObjectPaths.6=Addon Scenery\Europe\Italy\Ancona\simobjects" löschen. Die "SimObjectPaths.X=Addon" ist ...

Windows 10

Datenträger Nummerierung

gelöst Frage von AushilfsarnieWindows 109 Kommentare

Hallo, ich habe eine neue Festplatte (m.2 nvme) gekauft. jetzt möchte ich diese gerne als erste Festplatte (mit Windows ...

Microsoft Office

Word bestimmt Sprache selbst

gelöst Frage von honeybeeMicrosoft Office1 Kommentar

Hallo, habe in Word 2016 ein nerviges Problem: Auf meinem Computer (Windows 10) sind zwei Sprachen installiert: Deutsch und ...

Mac OS X

Safari öffnet bestimmt Seite nicht

Frage von tomi93Mac OS X2 Kommentare

Hallo , ich habe an einem iMac bei uns im Unternehmen das Problem das Safari dort eine bestimmte Seite ...

Neue Wissensbeiträge
Viren und Trojaner
Trend Micro WFBS 10 SP1 Patch 2185
Tipp von Abramelin vor 7 StundenViren und Trojaner

Hi, Hab gerade gesehen das Patch 2185 für TM WFBS 10 SP1 erschienen ist! Werde mal Morgen den Patch ...

Viren und Trojaner

Neuer Virus lässt Windows im abgesicherten Modus starten

Tipp von transocean vor 10 StundenViren und Trojaner2 Kommentare

Moin, lest selbst. Grüße Uwe

Sicherheit
Böser Bug in Domänenkennwortrichtlinie!
Information von DerWoWusste vor 15 StundenSicherheit1 Kommentar

Ich spiegele mal Borncity: In Kürze: Nutzt Ihr eine Domänen-Kennwortrichtlinie der herkömmlichen Art (keine PSO-Richtlinie)? Ja? Und plant Ihr, ...

Windows Tools
7-Zip v19.0 MSI silent uninstall
Tipp von Dirmhirn vor 1 TagWindows Tools5 Kommentare

Hi, ich versuchte grade 7-Zip v19.0 MSI silent zu deinstallieren. mit msiexec /x stürzt mir immer der Explorer ab. ...

Heiß diskutierte Inhalte
Sicherheitsgrundlagen
Sperrung der IMAP Aktivierung: GMail für Apple Mail - in einer Schul-Google-Suite
Frage von lazylandSicherheitsgrundlagen15 Kommentare

Hallo, ich würde mich sehr über Eure Einschätzung und Rat freuen: Der Administrator einer Google Suite (Schule) löscht aus ...

Windows 10
Win10 Remote Desktop User anders
Frage von ludibubiWindows 1014 Kommentare

Folgende Situation: Auf meinem Rechner (Win10) in der Firma (Domänen-Netzwerk) starte ich abends bevor ich gehe einen Newsletterversand. Damit ...

Windows 8
Snipping Tool Alternative für bzw ab Windows 8.1
gelöst Frage von schmitziWindows 814 Kommentare

Hallo, ich suche für Windows 8.1 eine Alternative für das bordeigene Snipping Tool von MS, vielleicht weiss ja jemand ...

Server-Hardware
Anschaffung neuer Server
Frage von tschip1801Server-Hardware14 Kommentare

unsere Firma bekommt einen neuen Server, ich bin schon sehr lange nicht mehr so tief im geschehen um hier ...