Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch: Dateien älter als X filtern und in einer TXT oder CSV speichern

Frage Entwicklung Batch & Shell

Mitglied: crinaX

crinaX (Level 1) - Jetzt verbinden

14.08.2014, aktualisiert 06.10.2015, 220 Aufrufe, 8 Kommentare

Guten Morgen liebe Community,

ich habe gestern ein PowerShell Skript erstellt, welches Dateien filtert in einem angegebenem Pfad und diese dann in einer .CSV speichert (Pfad+Name und letztes Änderungsdatum). Das Skript sieht in etwa so aus:
01.
#Alle Dateien auf Datum überprüfen und wenn älter als X dann in CSV schreiben 
02.
Get-ChildItem $path –Recurse| where {$_.LastWriteTime –lt $date} | Select-Object FullName, LastWriteTime | sort LastWriteTime | export-csv -path "$csv_path\$csv_name.csv" -encoding ASCII -NoTypeInformation -Delimiter ";"
Nun probiere ich das ganze auch für Windows Server 2000 in einer .bat zu realisieren. Das einzige was ich dazu allerdings finde ist der "forfiles" Befehl. Like this:
01.
Forfiles /P E:\Ordner\ /S /M *.* /D -8 /C "cmd /c del /q @path"
Nur löscht dieser Befehl die Dateien und ich weiß absolut nicht wie ich es hinkriege, dass er die Dateien nicht löscht sondern diese einfach in einer .txt oder .csv speichert.

Kann mir da wer helfen?

LG
crinaX
Mitglied: colinardo
LÖSUNG 14.08.2014, aktualisiert um 09:07 Uhr
forfiles /P "E:\Ordner" /S /M *.* /D -8 /C "cmd /c echo "@path";""@fdate" "@ftime""">deineCSVDatei.csv
Grüße Uwe
Bitte warten ..
Mitglied: crinaX
14.08.2014, aktualisiert um 09:07 Uhr
Wieder viele Dank für die schnelle Antwort
Also die Ausgabe in der CMD sieht soweit richtig aus. Nur steht jetzt hinter der Zeit der Pfad der CSV und diese CSV wird auch nicht erstellt... Noch einen Tipp?


EDIT:
Du hattest schon korrigiert, aber ich noch nicht aktualisiert. Vielen Dank! Funktioniert einwandfrei.

LG
crinaX
Bitte warten ..
Mitglied: crinaX
14.08.2014, aktualisiert um 09:27 Uhr
Kann ich das ganze auch mit Variablen ausfüllen?

01.
forfiles /P %path% /S /M *.* /D -%date% /C "cmd /c echo "@path";""@fdate" "@ftime""">%csv_path%\%csv_name%.csv
Habe es so probiert und die Variablen werden halt vorher vom Nutzer eingetippt. Nun bekomm ich allerdings den Fehler:
01.
FEHLER: Argument/Option ungültig - 'System'.
Bitte warten ..
Mitglied: colinardo
14.08.2014, aktualisiert um 09:33 Uhr
sicher, aber du machst einige Fehler. z.B. verwendest du die spezielle %Path%-Systemvariable und die Systemvariable %date% (außer du wolltest das aktuelle Datum verwenden), hier solltest du besser andere Namen vergeben und der zweite Fehler ist das nicht umschließen der Pfade mit Anführungszeichen wenn sie Leerzeichen enthalten sollten:
forfiles /P "%STRPATH%" /S /M *.* /D -%STRDATE% /C "cmd /c echo "@path";""@fdate" "@ftime""">"%csv_path%\%csv_name%.csv"
Bitte warten ..
Mitglied: crinaX
14.08.2014 um 09:41 Uhr
Das mit der Systemvariablen war mir dann auch aufgefallen. Nur scheinen die Anführungszeichen auch nicht zu helfen:

01.
set /p spath = Bitte Pfad eingeben in dem gesucht werden soll:  
02.
set /p sdate = Bitte geben Sie ein Alter in Tagen an, ab welchem gefiltert werden soll:  
03.
set /p csv_path = Bitte geben Sie einen Pfad ein in welchem die CSV Datei gespeichert werden soll:  
04.
set /p csv_name = Bitte geben Sie einen Namen f%ue%r die CSV Datei ein:  
05.
 
06.
forfiles /P "%spath%" /S /M *.* /D -"%sdate%" /C "cmd /c echo "@path";""@fdate" "@ftime""">"%csv_path%\%csv_name%.csv" 
07.
pause
Mit Anführungszeichen kommt:
01.
FEHLER: Der Wert für Option "/P" darf nicht leer sein.
Und ohne Anführungszeichen:
01.
FEHLER: Ungültige Syntax. Wert für "/P" erwartet.
Bitte warten ..
Mitglied: colinardo
14.08.2014, aktualisiert um 09:45 Uhr
du hast bei deinen SET-Befehlen zwischen der Variablennamen und dem Gleichheitszeichen ein Leerzeichen, das darfst du nicht machen !! Denn ansonsten ist die Variable hinterher leer bzw. existiert nicht. Deswegen die Meldung von Forfiles das der Pfad leer ist !
01.
set /p spath=Bitte Pfad eingeben in dem gesucht werden soll:  
02.
set /p sdate=Bitte geben Sie ein Alter in Tagen an, ab welchem gefiltert werden soll:  
03.
set /p csv_path=Bitte geben Sie einen Pfad ein in welchem die CSV Datei gespeichert werden soll: 
04.
set /p csv_name=Bitte geben Sie einen Namen f%ue%r die CSV Datei ein: 
Bitte warten ..
Mitglied: crinaX
18.08.2014 um 08:45 Uhr
Funktioniert alles einwandfrei. Gibt es auch noch Variablen die ich bei:
01.
forfiles /P "%spath%" /S /M *.* /D -"%sdate%" /C "cmd /c echo "@path";""@fdate" "@ftime""">"%csv_path%\%csv_name%.csv"
Anhängen kann um mir auch noch den Ersteller der Datei und das Erstellungsdatum (nicht Änderungsdatum) in die CSV zu speichern?
Bitte warten ..
Mitglied: colinardo
18.08.2014 um 08:55 Uhr
forfiles /?
gibt dir diese Auskunft.

Grüße Uwe
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...

Peripheriegeräte
Wlan stört Funkmaus (11)

Frage von Falaffel zum Thema Peripheriegeräte ...

Peripheriegeräte
gelöst USB Festplatte verliert Laufwerksbuchstabe (9)

Frage von cese4321 zum Thema Peripheriegeräte ...