Powershell Dateien aus Verzeichnissen suchen und mit Klon syncroniesieren
Hallo,
ich weiß nicht so recht wie ich es lösen kann. Folgenden Situation:
In C:\ProgramData\ABC sind versch. Unterverzeichnisse. In einigen davon ist meine gesuchte Datei.
im Pfad \\Server\Verzeichnis gibt es die gleiche Unterverzeichnisstruckur ergänzt um weitere Versionsverzeichnisse.
Nun, das herausfinden welche Verzeichnisse die gesuchte Datei enthalten ist nicht schwer:
das kommt dann bspw. :
Ich scheitere hieran:
Nun will ich entsprechend der Pfade die gesuchte Datei aus \\Server\Verzeichnis\prog1\version1 etc. nach C:\ProgramData\ABC\prog1\version1 kopieren.
Die Datei hat immer den gleichen Namen jedoch unterschiedlichem Inhalt.
Ich dachte mir iwi müßte der Ausgabe-Pfad um C:\ProgramData\ABC gekürzt werden damit ich den Rest nutzen kann um von \\Server\Verzeichnis zu kopieren.? Oder?
Vielen Dank
ich weiß nicht so recht wie ich es lösen kann. Folgenden Situation:
In C:\ProgramData\ABC sind versch. Unterverzeichnisse. In einigen davon ist meine gesuchte Datei.
im Pfad \\Server\Verzeichnis gibt es die gleiche Unterverzeichnisstruckur ergänzt um weitere Versionsverzeichnisse.
Nun, das herausfinden welche Verzeichnisse die gesuchte Datei enthalten ist nicht schwer:
$Directory=“C:\ProgramData\ABC\”
$P=Get-ChildItem -recurse $Directory | where name -like “gesuchte Datei” |ft
echo $p
das kommt dann bspw. :
- C:\ProgramData\ABC\prog1\version1
- C:\ProgramData\ABC\prog1\version1.2
- C:\ProgramData\ABC\prog2\version3 etc.
Ich scheitere hieran:
Nun will ich entsprechend der Pfade die gesuchte Datei aus \\Server\Verzeichnis\prog1\version1 etc. nach C:\ProgramData\ABC\prog1\version1 kopieren.
Die Datei hat immer den gleichen Namen jedoch unterschiedlichem Inhalt.
Ich dachte mir iwi müßte der Ausgabe-Pfad um C:\ProgramData\ABC gekürzt werden damit ich den Rest nutzen kann um von \\Server\Verzeichnis zu kopieren.? Oder?
Vielen Dank
Please also mark the comments that contributed to the solution of the article
Content-Key: 608376
Url: https://administrator.de/contentid/608376
Printed on: April 24, 2024 at 18:04 o'clock
3 Comments
Latest comment
$quelle = "\\Server\Verzeichnis"
$ziel ="C:\ProgramData\ABC"
ls $quelle -Recurse -File -Filter "gesuchteDatei" | %{
$newdir = $_.DirectoryName.replace($quelle,$ziel)
if(!(Test-Path $newdir){md $newdir -Force}
copy-item $_.Fullname -Destination $newdir -force -verbose
}
syncroniesieren
Don't drink and write!