Forfiles findet nicht alles
Hallo zusammen,
ich suche auf einem Netzwerklaufwerk nach alten Dateien:
forfiles /P PFAD /D -01.01.2013 /S .....
Somit finde ich alle Dateien, die das letzte Mal vor dem 01.01.2013 bearbeitet wurden.
Leider nicht alle.
Es gibt einen Ordner "Anwender", der komplett ignoriert wird und in einem weiteren Ordner wird nichts gefunden.
Hat jemand eine Idee oder eine Alternative zu forfiles?
Fehler gibt es keine.
Vielen Dank,
Volker
ich suche auf einem Netzwerklaufwerk nach alten Dateien:
forfiles /P PFAD /D -01.01.2013 /S .....
Somit finde ich alle Dateien, die das letzte Mal vor dem 01.01.2013 bearbeitet wurden.
Leider nicht alle.
Es gibt einen Ordner "Anwender", der komplett ignoriert wird und in einem weiteren Ordner wird nichts gefunden.
Hat jemand eine Idee oder eine Alternative zu forfiles?
Fehler gibt es keine.
Vielen Dank,
Volker
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 288313
Url: https://administrator.de/contentid/288313
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
15 Kommentare
Neuester Kommentar
Moin.
Findest du hier aber bis zum Abwinken solche Alternativen, wenn du mal die Suchfunktion anwerfen würdest.
Gruß grexit
Zitat von @DerVolker:
Leider nicht alle.
Es gibt einen Ordner "Anwender", der komplett ignoriert wird und in einem weiteren Ordner wird nichts gefunden.
Fehlende Zugriffsrechte ?Leider nicht alle.
Es gibt einen Ordner "Anwender", der komplett ignoriert wird und in einem weiteren Ordner wird nichts gefunden.
Hat jemand eine Idee oder eine Alternative zu forfiles?
Powershell:gci 'c:\Ordner' -recurse -Force | ?{!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date '01.01.2013')}
Findest du hier aber bis zum Abwinken solche Alternativen, wenn du mal die Suchfunktion anwerfen würdest.
Gruß grexit
Zitat von @DerVolker:
Gehe ich in den übergeordneten Ordner dann wieder nicht.
Mir ist das Verhalten absolut unklar.
Da fehlt dann bestimmt das Recht zu, Auflisten und das Durchsuchen von untergeordneten Ordnern auf diesem Oberordner, bzw. ist durch die Propagation auf den Oberordner eingeschränkt.Gehe ich in den übergeordneten Ordner dann wieder nicht.
Mir ist das Verhalten absolut unklar.
Aber mit PS hast du je eine wesentlich bessere Alternative als mit diesem altertümlichen forfiles ...
Powershell
Lässt sich problemlos auch direkt in einer Batch einbauen
Wie bereits geschrieben: Ich bin auch für Alternativen dankbar.
Steht doch schon oben eine der Alternativen ... übersehen ??Lässt sich problemlos auch direkt in einer Batch einbauen
powerhshell -Executionpolicy ByPass -Command "gci 'c:\Ordner' -recurse -Force | ?{!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date '01.01.2013')}"
Zitat von @DerVolker:
ja habe ich leider übersehen.
Leider (auf den ersten Blick) nicht so gut wie forfiles, da mir forfiles mehr informationen liefert.
Da täuscht dich dein erster Blick aber gewaltig. Mit der Powershell geht um den Faktor 1000 mehr als mit dem antiken forfiles !! Und vor allem ist sie wesentlich schneller. Aktionen für jedes File lässt sich mit einer einfachen nachgeschalteten Foreach Schleife etc. pp. problemlos realisieren.ja habe ich leider übersehen.
Leider (auf den ersten Blick) nicht so gut wie forfiles, da mir forfiles mehr informationen liefert.
gci 'c:\Ordner' -recurse -Force | ?{!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date '01.01.2013')} | %{
# hier kommen die Aktionen für jedes File rein
write-host $_.Fullname
}
Ich werde mich mal etwas mit PS beschäftigen.
Gut, wenn du Fragen hast, sag bescheid, wir liefern es dir frei Haus Zitat von @DerVolker:
Forfiles liefert mir folgende Tabelle
Dateiname, rel. Pfad zur Datei, Datum der letzten Änderung,
Na das ist ein Klacks:Forfiles liefert mir folgende Tabelle
Dateiname, rel. Pfad zur Datei, Datum der letzten Änderung,
gci 'c:\Ordner' -recurse -Force | ?{!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date '01.01.2013')} | format-table Name,DirectoryName,LastWriteTime -Wrap
Kannst Du evtl. eine gutes Buch zum Selbststudium empfehlen?
........ | format-table Name,DirectoryName,LastWriteTime -Wrap -AutoSize
Oder gleich als CSV in eine Datei ausgeben
........ | export-csv 'c:\daten.csv' -NoType -Delimiter ";" -Encoding UTF8
mit dem Parameter "-AutoSize" hatte ich auch schon experementiert. Leider ohne ein Ergebnis.
Die ersten Versuche mit "export-csv" waren nicht erfolgreich.
Kann ich nicht bestätigen, läuft hier wie immer einwandfrei, wird deinen rudimentären Powershell-Kenntnissen geschuldet sein, sorry. Da musst du durch.Die ersten Versuche mit "export-csv" waren nicht erfolgreich.
Einen Grundkurs können wir hier ja nicht jedes mal geben.
gci 'c:\Ordner' -recurse -Force | ?{!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date '01.01.2013')} | select Name,DirectoryName,LastWriteTime | export-csv 'c:\daten.csv' -NoType -Delimiter ";" -Encoding UTF8