Rechner über ein Skript nach Dateien durchsuchen

Bensen83

Level-1
Beiträge
777
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte via WINCC Flexible Script einen Rechner (genauer ein Verzeichnis) nach bestimmten dateiendungen durchsuchen. (Also möchte alle Dateien einlesen, die mit einer bestimmten endung enden. dann will ich die dateinamen in einen string schreiben und danach die datei löschen. also ich werde wahrschinlich dann immer nur eine einlesen, weil irgendwann nur noch eine da sein wird ;-)

Kann mir da jemand behilflich sein, was das Flexible script betrifft?
 
Hallo,
vielleicht schaust du dir dazu mal in der VB-Hilfe von Flex an, was zum Thema "Files-Auflistung" geschrieben ist. Da ist auch ein ganz brauchbares Beispiel dabei.
Dann gibt es auch noch "FileExists" und "DeleteFile" und und und ...

Gruß
Larry
 
Hallo Benson,
m.W. gibt es so nicht direkt.
Die Files-Auflistung würde dir alle Dateien in dem gewählten Ordner als Array zurückliefern. Du könntest nun den jeweiligen Dateinamen (des Arrays) mittels "Split" und dem Trenner "." in Dateiname und Extension zerlegen.
Nun könntest du deine weiteren Aktionen starten ..

Gruß
Larry
 
ich möchte via WINCC Flexible Script einen Rechner (genauer ein Verzeichnis) nach bestimmten Dateiendungen durchsuchen. (Also möchte alle Dateien einlesen, die mit einer bestimmten Endung enden.)

Kann ich auch irgendwie herausfinden, welche Dateiendung die Datei hat? irgendwie so zB.
if datei.extension = ".txt" Then .....

Das folgende VBScript gibt alle Dateien mit der Dateiendung PDF im Verzeichnis F:\VBScript aus.

Die GetExtensionName-Methode im VBScript gibt dabei die Dateiendung einer Datei als String zurück.

Code:
Dim objFSO
Dim objFolder
Dim objFile

Const strFolder = "F:\VBScript"
Const strExtension = "PDF"

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strFolder) Then
    Set objFolder = objFSO.GetFolder(strFolder)
    For Each objFile in objFolder.Files  
        If UCase(objFSO.GetExtensionName(objFile)) = strExtension Then
            WScript.Echo(objFile.Name)
        End If
    Next 
Else
    WScript.Echo("Folder does not exist")
End If

Gruß Kai
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nachträglich noch eine kleine Änderung im Aufruf der GetExtensionName-Methode im VBScript.

Code:
Dim objFSO
Dim objFolder
Dim objFile

Const strFolder = "F:\VBScript"
Const strExtension = "PDF"

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strFolder) Then
    Set objFolder = objFSO.GetFolder(strFolder)
    For Each objFile in objFolder.Files  
        If UCase(objFSO.GetExtensionName(objFile.Name)) = strExtension Then
            WScript.Echo(objFile.Name)
        End If
    Next 
Else
    WScript.Echo("Folder does not exist")
End If

Gruß Kai
 
Zurück
Oben