Hallo,
wie kann ich den nachfolgenden Code so ergänzen, daß nur Dateien mit einer bestimmten Endung (*.pdf) gezählt werden. Idealerweise möchte ich die ext. ebenfalls über Varialben/konstanten pflegen können. Zur werden noch alle Dateien gezählt.
Bis dahin kam ich mit Google und eigenem "Gripps" ganz gut hin, aber seh ich gerade den Wald vor Bäumen nicht mehr.
Bestimmt geht das Ganze noch eleganter zu lösen (z.B. mit Funktionen für die Prüfungen oder das Sammeln des Outputs in einem Array um die Log erst am Schluss in einem Rutsch zu schreiben). Zukunftsmusik (sie klingt schon in meinen Ohren) wäre die "Konstanten" in einer ini-Datei zu pflegen. Aber bis dahin bin ich schon ganz froh das bisherige geschafft zu haben.
(Das Programm Notepad++ ist nur ein Platzhalter, weil ich das Eigendliche grad nicht auf meiner Mühle zum laufen bekomme)
wie kann ich den nachfolgenden Code so ergänzen, daß nur Dateien mit einer bestimmten Endung (*.pdf) gezählt werden. Idealerweise möchte ich die ext. ebenfalls über Varialben/konstanten pflegen können. Zur werden noch alle Dateien gezählt.
Bis dahin kam ich mit Google und eigenem "Gripps" ganz gut hin, aber seh ich gerade den Wald vor Bäumen nicht mehr.
Bestimmt geht das Ganze noch eleganter zu lösen (z.B. mit Funktionen für die Prüfungen oder das Sammeln des Outputs in einem Array um die Log erst am Schluss in einem Rutsch zu schreiben). Zukunftsmusik (sie klingt schon in meinen Ohren) wäre die "Konstanten" in einer ini-Datei zu pflegen. Aber bis dahin bin ich schon ganz froh das bisherige geschafft zu haben.
(Das Programm Notepad++ ist nur ein Platzhalter, weil ich das Eigendliche grad nicht auf meiner Mühle zum laufen bekomme)
PHP:
' ** Changelog V.1.2 21.12.2011 ***
' # Parameter am Programmanfang
' # Abfrage nach Existenz der Ordner
' # Leerstellen in Pfadangaben
' # Messages nun in log-Datei
' ** Changelog V.1.3 22.12.2011 ***
' # Starten von w2m Timer
' ****** Funktionsbeschreibung *****
' wait2move hat den Zweck, zum einen
' Verzeichnisse auf Inhalt und zum
' anderen die Existenz eines Prozess/
' laufenden Programm zu prüfen.
' Soweit ein bestimmtes Verzeichnis
' leer und das Programm beendet ist,
' werden Dateien aus einem anderen
' Verzeichnis in das leere Verzeichnis
' verschoben und das Programm neu
' gestartet.
' **********************************
Dim allProcess
Dim Process
Dim foundProcess
Dim ext
Dim datanz
Dim pName
Dim pNam2
Dim pRun
Dim pText
Dim pStart
Dim Path1
Dim Path2
Dim pPath
Dim pPath2
Dim eTime
' ************ Parameter ***********
Path1 = "C:\Spools\"
Path2 = "C:\Temp\"
pPath = "C:\Program Files (x86)\Notepad++\"
pName = "notepad++.exe"
pPath2 = "C:\wait2move\"
pName2 = "w2mTimer.vbs"
eTime = Now
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set allProcess = GetObject ("winmgmts:")
Set pStart = CreateObject("Wscript.Shell")
Set oFile = oFSO.OpenTextFile("C:\wait2move\wait2move.log",8,true)
oFile.WriteLine " "
oFile.WriteLine eTime & " wait2move wurde gestartet"
If oFSO.Folderexists (Path1) = True Then
datanz1 = oFSO.GetFolder(Path1).Files.count
Else
oFile.WriteLine eTime & " Der Ordner " & Path1 & " existiert nicht"
oFile.WriteLine eTime & " wait2move wurde beendet"
oFile.close
pStart.Run Chr(34) & pPath2 & pName2 & Chr(34)
WScript.Quit
End If
If oFSO.Folderexists (Path2) = True Then
datanz2 = oFSO.GetFolder(Path2).Files.count
Else
oFile.WriteLine eTime & " Der Ordner " & Path2 & " existiert nicht"
oFile.WriteLine eTime & " wait2move wurde beendet"
oFile.close
pStart.Run Chr(34) & pPath2 & pName2 & Chr(34)
WScript.Quit
End If
foundProcess = False
For Each Process in allProcess.InstancesOf ("Win32_Process")
If Process.Name = pName Then
pRun = 1
pText = "Der Prozess " & pName & " läuft noch"
foundProcess = True
Exit for
End If
Next
If foundProcess = False Then
pRun = 0
pText = "Der Prozess " & pName & " ist beendet"
End If
Set allProcess = nothing
oFile.WriteLine eTime & " " & datanz1 & " Datei(en) in der Verarbeitung"
oFile.WriteLine eTime & " " & pText
oFile.WriteLine eTime & " " & datanz2 & " Datei(en) in der Warteschleife"
IF pRun = 0 and datanz1 = 0 and datanz2 > 0 Then
oFSO.MoveFile Path2 & "*.pdf", Path1
oFile.WriteLine eTime & " " & datanz2 & " Datei(en) übergeben"
pStart.Run Chr(34) & pPath & pName & Chr(34)
oFile.WriteLine eTime & " Der Prozess " & pName & " wurde gestartet"
oFile.WriteLine eTime & " wait2move wurde beendet"
oFile.close
pStart.Run Chr(34) & pPath2 & pName2 & Chr(34)
WScript.Quit
Else
oFile.WriteLine eTime & " Fehler aufgetreten:"
oFile.WriteLine eTime & " Prozess-Status: "& pRun
oFile.WriteLine eTime & " Dateien in Verarbeitung: "& datanz1
oFile.WriteLine eTime & " Dateien wartend: "& datanz2
End If
oFile.WriteLine eTime & " wait2move wurde beendet"
oFile.close
pStart.Run Chr(34) & pPath2 & pName2 & Chr(34)
WScript.Quit