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

PowerShell Script: Alte Dateien Filtern und Dateinamen und Letzte Bearbeitung in CSV

Frage Microsoft

Mitglied: crinaX

crinaX (Level 1) - Jetzt verbinden

13.08.2014, aktualisiert 06.10.2015, 199 Aufrufe, 5 Kommentare

Hallo liebe Community,

ich schreibe gerade ein PowerShell Script welches alte Dateien finden soll und dann eine .CSV Datei erstellt in welcher der Dateiname und die letzte Bearbeitung in jeweils einer Spalte zu finden ist. Am besten das ganze noch sortiert nach der ältesten Bearbeitung.

So sieht der Versuch bis jetzt aus:
Get-ChildItem –Recurse -Path $path| where {$_.LastWriteTime –lt $date} | Select-Object Name, LastWriteTime | export-csv -path C:temp\test.csv -encoding ASCII -NoTypeInformation

Problem dabei ist: Es werden mir keine zwei Spalten (Name, LastWriteTime) erstellt sondern nur eine mit der Überschrift: Name"LastWriteTime"

Kann mir da jemand helfen?
Mitglied: colinardo
LÖSUNG 13.08.2014, aktualisiert um 11:20 Uhr
Hallo crinaX, Willkommen auf Administrator.de!
Kann ich hier nicht nachvollziehen, das sollte problemlos laufen.
01.
$path = "C:\testordner" 
02.
$date = (get-date).AddDays(-30) 
03.
Get-ChildItem $path -Recurse | ?{!$_.PSIsContainer -and $_.LastWriteTime –lt $date} | select Name, LastWriteTime | sort LastWriteTime | export-csv "C:temp\test.csv" -encoding ASCII -NoTypeInformation
Grüße Uwe
Bitte warten ..
Mitglied: crinaX
13.08.2014 um 11:19 Uhr
Hallo colinardo,

vielen Dank für die schnelle Antwort. Allerdings funktioniert es bei leider nicht.

Hier mal kurz mein aktueller Code:

#Benutzereingaben: Pfad, Datum, Pfad für CSV, Name der CSV
$path = read-host "Bitte Pfad eingeben in dem gesucht werden soll: "
$date = read-host "Bitte geben Sie ein Datum ein ab welchem gefiltert werden soll (YYYY-MM-DD): "
$csv_path = read-host "Bitte geben Sie einen Pfad ein in welchem die CSV Datei gespeichert werden soll: "
$csv_name = read-host "Bitte geben Sie einen Namen für die CSV Datei ein: "

#Alle Dateien auf Datum überprüfen und wenn älter als X dann in CSV schreiben
Get-ChildItem $path –Recurse| where {$_.LastWriteTime –lt $date} | Select-Object Name, LastWriteTime | sort LastWriteTime | export-csv -path C:temp\test.csv -encoding ASCII -NoTypeInformation



Ergebnis wenn ich die CSV mit Excel öffne:
A1: Name,"LastWriteTime"
A2: 2013KW_33_Nr2.doc,"21.08.2013 13:52:20"
Bitte warten ..
Mitglied: colinardo
LÖSUNG 13.08.2014, aktualisiert um 11:31 Uhr
Das geht schon wenn du für Excel ein Semikolon als Delimiter verwendest !
export-csv "C:temp\test.csv" -encoding ASCII -NoTypeInformation -delimiter ";"
erst dann erkennt Excel die Spalten automatisch!
Bitte warten ..
Mitglied: crinaX
13.08.2014 um 11:26 Uhr
Oh super. Vielen Dank. Das war die Lösung

Hätte jetzt noch eine kleine weitere Frage:
Ist es möglich, dass er den Pfad der Datei noch mit in die selbe Spalte schreibt?
Beispiel Spalte Name:
C:\temp\test.txt
Bitte warten ..
Mitglied: colinardo
LÖSUNG 13.08.2014, aktualisiert um 11:31 Uhr
abä sichä, einfach select Name, LastWriteTime durch select FullName, LastWriteTime ersetzen
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Powershell Get-Content Inhalt filtern (1)

Frage von derhoeppi zum Thema Batch & Shell ...

Batch & Shell
gelöst PC nach einem Kopiervorgang herunterfahren - PowerShell Script? (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Windows Server
PowerShell Script - Ordnerrechte setzen (7)

Frage von desmondjames zum Thema Windows Server ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
gelöst Telefonanlage gesucht (39)

Frage von Xaero1982 zum Thema TK-Netze & Geräte ...

Windows Netzwerk
Anmeldung an Domäne schlägt oft fehlt (Fehlermeldung: falsches Passwort) (24)

Frage von harald.schmidt zum Thema Windows Netzwerk ...

Exchange Server
gelöst Wie freigegebenes Postfach immer als primäre Sendeadresse verwenden? (18)

Frage von Flinxit zum Thema Exchange Server ...

Microsoft Office
Outlook 2016 - Keine Mails sichtbar (nach Suche schon) (17)

Frage von Hirschix3 zum Thema Microsoft Office ...