Abfragescript vor Programmstart....
Hallo @ all,
also ich bin kein Coder das schonmal vorweg.....
als ich drehe hier durch da sitze ich schon zwei Wochen an diesem Script und es funzt auch zur Hälfte aber halt nur zur Hälfte.
Ich hoffe das Ihr mir weiterhelfen könnt.
Das Script sol folgendes machen:
1. einen Warnhinweis ausgeben wenn ich das will. -> das funzt
2. den Ordner Temp\pvv und Unterordner abfragen ob noch dateien Vorhanden sind ausser Dateien mit der Endung (*log und *.tmp) die sollten Ignoriert werden
Wenn Nein das Programm pvv.exe Starten. -> das funzt
Wenn Ja sollen die Dateien mit Pfadangabe (auch wieder ohne .log und *.temp) aufgelistet werden die Vorhanden sind.
Eine Messagebox mit OK oder Abrechen bei Abrechen soll die pvv.exe starten
Bei OK soll die pvv.exe Starten.
Ich hoffe da kann mir jemand weiter helfen?
also ich bin kein Coder das schonmal vorweg.....
als ich drehe hier durch da sitze ich schon zwei Wochen an diesem Script und es funzt auch zur Hälfte aber halt nur zur Hälfte.
Ich hoffe das Ihr mir weiterhelfen könnt.
Das Script sol folgendes machen:
1. einen Warnhinweis ausgeben wenn ich das will. -> das funzt
2. den Ordner Temp\pvv und Unterordner abfragen ob noch dateien Vorhanden sind ausser Dateien mit der Endung (*log und *.tmp) die sollten Ignoriert werden
Wenn Nein das Programm pvv.exe Starten. -> das funzt
Wenn Ja sollen die Dateien mit Pfadangabe (auch wieder ohne .log und *.temp) aufgelistet werden die Vorhanden sind.
Eine Messagebox mit OK oder Abrechen bei Abrechen soll die pvv.exe starten
Bei OK soll die pvv.exe Starten.
Ich hoffe da kann mir jemand weiter helfen?
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists("\\192.168.1.10\Wartungsmeldung\hinweis.txt") then
sInfoText = "\\192.168.1.10\Share\Wartungsmeldung\hinweis.txt"
sTitel = "Hinweis !!!"
iSek = 120 'Anzeigedauer in Sekunden
Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
sText = fso.OpenTextFile(sInfoText, 1).ReadAll
WshShell.Popup sText, iSek, sTitel, vbInformation
Else
End if
Set fso = nothing
Set wshell = CreateObject("WScript.Shell")
temp = wshell.ExpandEnvironmentStrings("%TEMP%")
Set oFSO = CreateObject("Scripting.FileSystemObject")
If Not oFSO.FolderExists(temp & "\pvv\") Then
Set objFolder = oFSO.CreateFolder(temp & "\pvv\")
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = (temp & "\pvv\")
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
ShowSubfolders objFSO.GetFolder(objStartFolder)
For Each objFile in colFiles
If UCase(objFSO.GetExtensionName(objFile.name)) = "TXT" Then
a = MsgBox("Es sind noch Daten in einem Verzeichnis vorhanden. " ,vbOKCancel + vbExclamation, "ACHTUNG ! ")
If a = vbCancel Then
Wscript.Echo "Es sind Daten im folgendem Verzeichnis vorhanden\ " & objFolder.Path &"\"& objFile.Name
Set ShellWSH = CreateObject("WScript.Shell")
ShellWSH.Run (temp &"\pvv\"), 1, False
WScript.Quit
End If
If a = vbOK Then
End If
End If
Next
Dim WshShell
Dim Quelle
Dim Ziel1,Ziel2
Dim HOST_NAME,HOST_NAME_file
Dim WD_DEF
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.FileSystemObject")
Set objNetwork = CreateObject("WScript.Network")
Argument = "\\192.168.1.10\share\pvv.exe"
WSHShell.Run Argument, 1, False
Set WSHShell = Nothing
WScript.Quit(0)
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
Set objFolder = objFSO.GetFolder(Subfolder.Path)
Set colFiles = objFolder.Files
For Each objFile in colFiles
If UCase(objFSO.GetExtensionName(objFile.name)) = "TXT" Then
a = MsgBox("Es sind noch Daten in einem Verzeichnis vorhanden." ,vbOKCancel + vbExclamation, "ACHTUNG ! ")
If a = vbCancel Then
Wscript.Echo "Es sind Daten im folgendem Verzeichnis vorhanden\ " & objFolder.Path &"\"& objFile.Name
Set ShellWSH = CreateObject("WScript.Shell")
ShellWSH.Run (temp &"\pvv\"), 1, False
WScript.Quit
End If
If a = vbOK Then
End If
End If
Next
ShowSubFolders Subfolder
Next
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 165703
Url: https://administrator.de/contentid/165703
Ausgedruckt am: 09.11.2024 um 01:11 Uhr
3 Kommentare
Neuester Kommentar
hallo halunke,
verstehe mich nicht falsch! Aber nach deiner Beschreibung liegt dein primäres Augenmerk auf dem Starten der pw.exe
Da reicht ein Zweiteiler in VBS:
Jetzt mal Spass beiseite!
Zum Durchkämmen von Ordnern geht doch eventuell sowas:
Und dann an entsprechender Stelle noch die Dateiendungen filtern. Z.Bsp.:
Dann musst du nur noch entscheiden, ob bei deiner Ent-Oder-Weder-Abfrage was gestartet oder gestoppt werden soll.
Gruss
Tsuki
verstehe mich nicht falsch! Aber nach deiner Beschreibung liegt dein primäres Augenmerk auf dem Starten der pw.exe
Da reicht ein Zweiteiler in VBS:
set wshshell=createobject("wscript.shell")
wshshell.run(pw.exe), 3, true
Jetzt mal Spass beiseite!
Zum Durchkämmen von Ordnern geht doch eventuell sowas:
Ordner = "C:\Temp\
ListOrdner Ordner
Sub ListOrdner(ordner)
Set ordner = fs.getfolder(ordner)
For Each file In ordner.files
Pfadangabe =file.path
Next
For Each Unterordner In Ordner.subfolders
Listordner unterordner
next
End Sub
If Not Right(Pfadangabe,3) = "log" and Not Right(Pfadangabe,3) = "tmp" then
' Anweisung etc.
End IF
Dann musst du nur noch entscheiden, ob bei deiner Ent-Oder-Weder-Abfrage was gestartet oder gestoppt werden soll.
Gruss
Tsuki
Hi
Beispiel:
Deine Datei heißt Test.tmp , dann sind die letzten 3 Stellen rechts "tmp".
Somit kann man z.Bsp. die Dateiendungen rausfiltern.
teste einfach mal in VBS:
Das gleiche geht übrigens auch mit links LEFT
Gruss
Tsuki
was bedeutet die ,3 -> (Pfadangabe,3)
Es bedeutet die Abfrage der 3 Stellen (Buchstaben oder Zahlen) von rechts nach links gezählt.Beispiel:
Deine Datei heißt Test.tmp , dann sind die letzten 3 Stellen rechts "tmp".
Somit kann man z.Bsp. die Dateiendungen rausfiltern.
teste einfach mal in VBS:
temp = "Mein Name"
msgbox Right(temp,4)
Das gleiche geht übrigens auch mit links LEFT
temp = "Mein Name"
msgbox Left(temp,4)
Gruss
Tsuki