Wenn bestimmte Datei leer dann Script ausfürhen sonst nicht
Guten Abend allerseits
Dieser Script löscht einen bestimmten Eintrag in der Scener.cfg des Flugsimulators und funktioniert soweit:
Nun sollte der Script nur dann ausgeführt werden, wenn eine gewisse Datei nämlich: "C:\Program Files (x86)\Mircosoft Games\Flight Simulator X\Addon Scenery\Italy\ATiLibrary\Scenery" leer ist!
Hier der Script der ohne Bedingung den Eintrag löscht:
Besten Dank für Hilfestellung
aletri
Dieser Script löscht einen bestimmten Eintrag in der Scener.cfg des Flugsimulators und funktioniert soweit:
Nun sollte der Script nur dann ausgeführt werden, wenn eine gewisse Datei nämlich: "C:\Program Files (x86)\Mircosoft Games\Flight Simulator X\Addon Scenery\Italy\ATiLibrary\Scenery" leer ist!
Hier der Script der ohne Bedingung den Eintrag löscht:
CfgFilePath = "C:\ProgramData\Microsoft\FSX\Scenery.CFG"
Dim Record (10000)
ScenTitle = "Title=ATiLibrary"
EntryNumRows = 7
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.OpenTextFile(CfgFilePath, 1, FALSE)
i = 1
Do While Not a.AtEndOfStream
aLine = a.ReadLine
PosTitle=Instr(1, aLine, ScenTitle)
If PosTitle <> 0 Then
StartRow = i-1
EndRow = StartRow + EntryNumRows - 1
End If
Record(i) = aLine
i = i+1
Loop
a.Close
Set a = fs.CreateTextFile(CfgFilePath, True)
For n = 1 To i-1
If (n < StartRow) or (n > EndRow) then
a.WriteLine(Record(n))
End If
Next
a.Close
Set fs = Nothing
Besten Dank für Hilfestellung
aletri
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 276763
Url: https://administrator.de/contentid/276763
Ausgedruckt am: 24.11.2024 um 08:11 Uhr
10 Kommentare
Neuester Kommentar
CfgFilePath = "C:\ProgramData\Microsoft\FSX\Scenery.CFG"
Dim Record (10000)
ScenTitle = "Title=ATiLibrary"
EntryNumRows = 7
Set fs = CreateObject("Scripting.FileSystemObject")
If (fs.FileExists(CfgFilePath)) then
Set a = fs.OpenTextFile(CfgFilePath, 1, FALSE)
If Not a.AtEndOfStream Then
i = 1
Do While Not a.AtEndOfStream
aLine = a.ReadLine
PosTitle=Instr(1, aLine, ScenTitle)
If PosTitle <> 0 Then
StartRow = i-1
EndRow = StartRow + EntryNumRows - 1
End If
Record(i) = aLine
i = i+1
Loop
a.Close
Set a = fs.CreateTextFile(CfgFilePath, True)
For n = 1 To i-1
If (n < StartRow) or (n > EndRow) then
a.WriteLine(Record(n))
End If
Next
End If
a.Close
End If
Set fs = Nothing
Gruß jodel32
Zitat von @aletri:
Hast ja Recht aber ich bin zu viel durch mein (nicht virtuelles) echtes Fliegen unterwegs
und Zeitweise fast nie Zuhause!!
Dann hab ich nichts gesagt Wo fliegst du, auf dem Schleudersitz im Cockpit ganz vorne oder in der Holzklasse ?Hast ja Recht aber ich bin zu viel durch mein (nicht virtuelles) echtes Fliegen unterwegs
und Zeitweise fast nie Zuhause!!
Allseits guten Flug.
Gruß jodel
korrigiert ...
Zitat von @aletri:
Nun wird der Script zwar ausgeführt aber auch dann wenn in "C:\Program Files (x86)\Microsoft Games\Microsoft Flight
Simulator X\Addon Scenery\Europe\Italy\ATiLibrary\Scenery" ein File vorhanden ist!
Das war ja oben auch nicht deine Frage !!! glaubst du ich bin Hellseher ??Nun wird der Script zwar ausgeführt aber auch dann wenn in "C:\Program Files (x86)\Microsoft Games\Microsoft Flight
Simulator X\Addon Scenery\Europe\Italy\ATiLibrary\Scenery" ein File vorhanden ist!
Das obige Skript sollte ja nach deiner Aussage nur ausgeführt werden wenn ein "bestimmtes" File leer ist, und das macht es auch Fehlerfrei !
Dein jetziges Verhalten war nicht Betandteil deiner Frage!
Wenn dann sieht die Zeile so aus
if FSO.Getfolder("C:\Program Files (x86)\Microsoft Games\Microsoft Flight Simulator X\Addon Scenery\Europe\Italy\ATiLibrary\Scenery").Files.Count > 0 Then
Da sprichst du von einer Datei, nicht von einem Ordner ... aber ist ja jetzt geklärt.