Jump to content

Abfrage Änderungsdatum Datei


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo,

 

kann ich über eine Batch (oder irgendwas anderes) in einem Laufwerk alle Dateien die z.B. 3 Jahre nicht geändert wurden anzeigen lassen? wenn ja welchen Befehl??

 

Ich hab ein Dateiserver, der müsste mal bereinigt werden :)

 

Danke für eure Hilfe

 

MFG

Geschrieben

Ja.

Aber:

- AccessDate ist sinnvoller. Datei wurde vor 3 Jahren geändert aber jede Woche einmal gelesen.

- Löschen ist evtl. zu viel. Ich würde mir gedanken über ein HSM System machen.

 

Mit Powershell:

 

Get-ChildItem d:\Daten | ? { ($_.LastAccessTime -lt (Get-Date).AddYears(-3)) } | % { remove-item $_.Fullname }

Geschrieben

danke für den code.

Ich möchte gerne das die Dateiennamen mit Pfad in einer Textdatei gespeichert werden, ohne die Datei zu löschen, wie wäre dann der code dazu?

 

Meinst du mit HSM System, so eine Art Software wie Symantec Vault? Gibts auch opensource?

Geschrieben

Get-ChildItem d:\Daten | ? { ($_.LastAccessTime -lt (Get-Date).AddYears(-3)) } | % { out-file $_.Fullname -append }

 

Ja. Symantec Vault ist solch ein Programm. Wir nutzen Commvault Simpana. OpenSource war ein guter Witz. Es ist ja nicht nur die Software, dazu gehört eine entsprechende Infrastruktur.

Geschrieben

Hallo,

 

Logparser kann das. Beispiel: "C:\Programme\Log Parser 2.2\logparser.exe" -i:FS -o:Datagrid "SELECT Path,Name,Size,CreationTime,LastAccessTime,LastWriteTime FROM c:\temp\*.*"

 

Delage32 bietet auch diese Möglichkeit. Beispiel:

DelAge32 C:\irgend\wo\*.* 100 /recurse /preview

Geschrieben
Get-ChildItem d:\Daten | ? { ($_.LastAccessTime -lt (Get-Date).AddYears(-3)) } | % { out-file $_.Fullname -append }

 

Ich hab eine Frage..ich bin kein Programierer ...was muss ich denn noch abändern außer dem Pfad?

 

Die zeit, wenn du nicht nach 3 Jahren alten Dateien suchst.

 

 

Ich hab noch was vergessen:

 

Get-ChildItem d:\Daten | ? { ($_.LastAccessTime -lt (Get-Date).AddYears(-3)) } | % { $_.Fullname | out-file c:\alte-dateien.txt -append }

Geschrieben

Hallo Memob,

Hier ein PS-Skript, was vielleicht für dich ein bischen übersichtlicher ist, als der Einzeiler oben

 

$path="c:\temp"

#ein paar Beispiele, den Zeitraum zu definieren 
$2MinutenAlt=(Get-Date).AddMinutes(-2)
$1TagAlt = (Get-Date).AddDays(-1)
$6MonateAlt=(Get-Date).AddMonths(-6)
$3JahreAlt=(Get-Date).AddYears(-3)

$DateiAlter=$3JahreAlt  # Zuweisung, die benutzt wird

#Ab hier nichts mehr ändern
Foreach ($item in (dir –recurse $path))
{ 
If (!( $item.PSIsContainer))         
{              
               If ($item.LastWriteTime –lt $DateiAlter)  
               {             
                Write-output "$($item.FullName), $($item.LastWriteTime), $($item.Length)" 
               }
}
}

 

Laufen lassen kannst du es in der PS-Entwickungsumgebung Powershell_ise.exe

 

cu

blub

Geschrieben
.oO(Was ist an meinem Script unübersichtlich?)

 

 

Werte wie den Pfadnamen oder das Dateialter mitten im Skript oder im Befehl fest zu verdrahten und nicht zu parametrisieren finde ich fehleranfällig und unübersichtlich.

Ist aber mein persönlicher Geschmack.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...