Jump to content

korda

Members
  • Gesamte Inhalte

    2
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von korda

  1. Vielen Dank für die Hilfe manchmal ist man einfach Blind


     

    Für dein Problem in VBS kann ich Dir leider keine Lösung aufzeigen, jedoch als gute Alternative die Powershell.

     

    Spezial 1

    Hier werden in einem Befehl die PDF-Dokumente gesucht, alle älteren als 7 Tagen gefiltert und diese Auswahl dann gelöscht.

    Get-ChildItem -Path 'LAUFWERK:\Scanning\*' -Include '*.pdf' | Where-Object {$_.LastWriteTime -le $((Get-Date).AddDays(-7))} | Remove-Item -Force
    

    Spezial 2

    Du hast eine große Struktur und in den verschiedensten Unterordnern die Scannerverzeichnisse, dann würde das Skript so aussehen:

    $Pfade = Get-ChildItem -Path 'DEIN PFAD' -Recurse -Directory
    
    foreach ($AktiverPfad  in $Pfade)
    {
        if ($AktiverPfad.Name -like '*Scanning*')
        {
            Get-ChildItem -Path ($AktiverPfad.FullName) -Include '*.pdf' | Where-Object {$_.LastWriteTime -le $((Get-Date).AddDays(-7))} | Remove-Item -Force
        }
    }
    

    Danke Dir es muss in unserem Fall VBS sein, aber das Powershellscript hebe ich mir gerne auf :D

  2. Guten Tag Zusammen

     

    ich habe ein VB Script gebastelt welches einen Ordner sucht und die darin enthaltenen PDF welche älter als 7 Tage sind löscht.

     

    call Recurse (strscanningPath)
        Sub Recurse(strFolderPath)
        Dim objFolder
        Set objFolder = objFSO.GetFolder(strFolderPath)
        Dim objFile
        Dim objSubFolder
        For Each objFile In objFolder.Files        
            'LOG für Ordnerscan kann eingeschalten werden, wenn es zu Scriptproblemen kommt.
            objLog.WriteLine("INFO: Dateien " & objFile.Path)
                'Läuft nur wenn es ein File ist
                If objfolder.name = strSCANNINGFOLDER Then
                    'Wenn die Endung ein PDF ist, gehts weiter
                    If (LCase(Mid(objFile.Name, InStrRev(objFile.Name, "."))) = ".pdf") Then
                        'Prüfung ob das File älter als 7 Tage ist
                        If DateDiff("d", objfile.DateLastModified, strDate) > 7 = TRUE Then
                        strfilesgeloescht=1
                        WshShell.LogEvent 1, "Loeschungsscript SCANNING: Dateien wurden geprüft und die Dateien welche älter als 7 Tage sind geloescht" & objFile.Path
                        objLog.WriteLine("INFO: Dateien " & objFile.Path & " wurde geloescht")
                        objFSO.DeleteFile(objfile.path)
                        end if
                    end if
                End If
        Next
                
        For Each objSubFolder In objFolder.SubFolders
            Call Recurse(objSubFolder.Path)
        Next
        End Sub  

     

    Das Script funktioniert soweit ganz gut. Problem ist bei dem Script, dass er alle Folder zuerst durchsucht und nicht gezielt nach dem Folder SCANNING. Ich bräuchte hier noch eine Schlaufe, dass er zuerst alle ORdner mit Scanning sucht und dann deren Inhalt. Vielen Dank für Eure Hilfe. Die Variable strfolderpaht und strscanningpath sind in einem INI File definiert. Hier der Auszug aus dem File:

     

    [Loeschen]
    scanningPath="\\naphs001\betriebe$\"
    scanningfolder="SCANNING"

     

×
×
  • Neu erstellen...