Hallo,
ich habe schon gesucht und das Forum durchstöbert, aber ich habe noch nichts gefunden. Sollte ich einen Beitrag übersehen haben verzeiht mir.
Ich muss ein Script erstellen, das folgendes kann:
In einem definierten Verzeichnis die neuste Datei suchen und diese dann je nach Typ starten. Bevor dieses jedoch startet müssen alle ggf. vorhandenen anderen bzw. noch offene Programme beendet werden. OK, es können nur folgende Programme offen sein: PowerPointViewer, WordViewer, ExcelViewer. Das heißt, die entsprechenden Prozesse könnten ggf. abgeschossen werden. Aber vielleicht geht das auch eleganter?
Bisher habe ich dies hier:
[autoit]
Dim $oFSO = ObjCreate('Scripting.FileSystemObject'), $Path = "D:\TMP"
Dim $neueste, $last = '19000101010101', $oFolder = $oFSO.GetFolder($Path)
For $File In $oFolder.Files
If $File.DateLastModified > $last Then
$last = $File.DateLastModified
$neueste = $File.Name
EndIf
Next
Run('"C:\Programme\Microsoft Office\Office12\PPTVIEW.EXE"' & $neueste)
Problem 1: Der Run Befehl startet mir zwar PowerPointViewer, aber leider nicht mit der Datei. Bedeutet, das PowerPoint dann nach der Datei fragt die geöffnet werden soll. Gebe ich das ganze hart ein, also statt der Variable $neueste direkt die Datei funktioniert es.
Was mache ich falsch?
Problem 2: Wie beende ich am elegantesten vor dem Start der PowerPoint-Datei alle anderen möglichen Anwendungen? Also Word, PowerPoint oder Excel? Muss ich diese über eine DOS-Box mit kill Prozess beenden? Oder geht das auch eleganter?
Grüße
skywalker