Daten nach dem auslesen per Powershell moven - kopieren - löschen
Hallo,
ich bin recht neu auf dem Gebiet des "komplizierteren" scripten und versuche mir mit Hilfe von Google etwas zusammenzubauen.
Das Thema ist ich habe ein Share auf dem Datensicherungen wöchentlich abgelegt werden in der Struktur:
in der die ältesten Sicherungen gemoved /kopiert werden sollen.
ich habe es nun geschafft per Powershell Script eine Liste der ältesten Ordner zu erstellen:
nun schaffe ich es nicht im Powershell die Ordner inklusive genanntem in der Liste zu verschieben / kopieren, da klappt das immer nur mit desssen Inhalt und die gegebene Ordnerstruktur wird nicht mitgenommen
jetzt habe ich es geschafft ein cmd zu bastel, das eine Liste mit Robocopy abbarbeitet, klappt auch, allerdings hätte ich das gerne in einem Script, am liebsten mit Powershell:
kann mir jemand helfen, den letzten Teil in Powershell zu übersetzen?
Außerdem bräuchte ich dann auch noch eine Protokollierung über jedes File das in der Struktur gemoved /kopiert wurde
Danke euch schonmal
ich bin recht neu auf dem Gebiet des "komplizierteren" scripten und versuche mir mit Hilfe von Google etwas zusammenzubauen.
Das Thema ist ich habe ein Share auf dem Datensicherungen wöchentlich abgelegt werden in der Struktur:
Share\Abteilung 1\Gerät A\Sicherung 1
Sicherung 2
Sicherung 3
Gerät B\Sicherung 1
Sicherung 2
Sicherung 3
Abteilung 2\Gerät A\Sicherung 1
Sicherung 2
Sicherung 3
etc
ich habe es nun geschafft per Powershell Script eine Liste der ältesten Ordner zu erstellen:
$folder="\\Share\Freigabe"
$Datum=(get-date).adddays(-28)
$liste="C:\temp\liste.txt"
ls $folder | ? { $_.name -notlike "_intern" } | ls | ls | ? { $_.lastwritetime -lt $datum -and $_.psiscontainer } | % { $_.FullName } > $liste
jetzt habe ich es geschafft ein cmd zu bastel, das eine Liste mit Robocopy abbarbeitet, klappt auch, allerdings hätte ich das gerne in einem Script, am liebsten mit Powershell:
rem @echo off & setlocal
set Source=C:\Test\Quelle
set Archiv=C:\Test\Archiv
set List=C:\Test\INI\List.txt
for /f "usebackq delims=" %%i in ("%List%") do call :ProcessFile "%%i"
goto :eof
:ProcessFile
set S=%Source%\%~1
set T=%Archiv%\%~1
if not exist "%T%" md "%T%"
Robocopy %S% %T% /E
Außerdem bräuchte ich dann auch noch eine Protokollierung über jedes File das in der Struktur gemoved /kopiert wurde
Danke euch schonmal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 307775
Url: https://administrator.de/forum/daten-nach-dem-auslesen-per-powershell-moven-kopieren-loeschen-307775.html
Ausgedruckt am: 29.04.2025 um 11:04 Uhr
1 Kommentar
Hallo,
https://gallery.technet.microsoft.com/scriptcenter/Another-PowerShell-sc ...
http://serverfault.com/questions/129098/how-to-get-robocopy-running-in- ...
Robocopy Quelle Ziel /NP /NDL /Log+:F:\Robolog\Log.log
Gruß,
Peter
https://gallery.technet.microsoft.com/scriptcenter/Another-PowerShell-sc ...
http://serverfault.com/questions/129098/how-to-get-robocopy-running-in- ...
Außerdem bräuchte ich dann auch noch eine Protokollierung über jedes File das in der Struktur gemoved /kopiert wurde
Robocopy Quelle Ziel /NP /NDL /Log:F:\Robolog\Log.log oder einRobocopy Quelle Ziel /NP /NDL /Log+:F:\Robolog\Log.log
Gruß,
Peter