Gu4rdi4n 58 Geschrieben 22. Oktober 2018 Melden Teilen Geschrieben 22. Oktober 2018 (bearbeitet) Hi, ich möchte ein powershell script basteln, welches mir Ordner mit einem gewissen pattern in zugewiesene Ordner verschiebt. Ordner, die mit 200.... anfangen, sollen in den Ordner 200. Ordner, die mit 201..... anfangen sollen in 201 usw. Dass man mit Get-ChildItem -path F:\padaten-calink\production\Freigabe-DXF -recurse -filter "200????_???" die gewünschten Ordner aufgelistet bekommt, habe ich bereits raus gefunden. kann ich irgendwie zu jeder zeile, die mir das Get-ChildItem ausgibt, einen Befehl anhängen, der mir diese Zeile in den anderen Ordner verschiebt? Da ich mit Powershell noch nicht so viel am Hut habe, frag ich einfach mal hier. Vielleicht hat ja jemand lust zu helfen! achja, gefunden hab ich bereits das hier: https://www.windowspro.de/script/copy-item-move-item-dateien-kopieren-verschieben-powershell allerdings werde ich daraus nicht so ganz schlau. gci *.ini | %{if(-not(Test-Path (".\config_bak\" + $_.name))){copy $_ .\config_bak -passthru|select name}} Hier muss man die Quelldateien mit Hilfe von Get-ChildItem erfassen und diese Liste einer Schleife übergeben, in der Test-Path jede einzelne Datei auf ihre Existenz prüft. Nur wenn sie nicht vorhanden ist, kommt der Kopierbefehl zum Zug, und zwar für jede Datei separat. bearbeitet 22. Oktober 2018 von Gu4rdi4n Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 22. Oktober 2018 Melden Teilen Geschrieben 22. Oktober 2018 (bearbeitet) vor 26 Minuten schrieb Gu4rdi4n: Da ich mit Powershell noch nicht so viel am Hut habe, Wie schade ... ein guter Startpunkt ist der kostenlose VideoKurs in der Microsoft Virtual Academy - Getting Started with Microsoft Powershell. Vernünftig formatiert und die Aliasse ausgeschrieben sieht der Code so aus: Get-ChildItem *.ini | ForEach-Object { if (-not(Test-Path (".\config_bak\" + $_.name))) { Copy-Item $_ .\config_bak -passthru | Select-Object -Property name } } bearbeitet 22. Oktober 2018 von BOfH_666 1 Zitieren Link zu diesem Kommentar
Gu4rdi4n 58 Geschrieben 22. Oktober 2018 Autor Melden Teilen Geschrieben 22. Oktober 2018 Hi, ja deswegen möchte ich mich immer mehr damit beschäftigen! :) Ist ja ein skill der echten Mehrwert bringt. Danke für die Reformatierung! Habe jetzt eine andere Lösung noch gefunden, die mir besser gefällt. Get-ChildItem -Path "C:\Users\user\TestOrdner Powershell" -filter "222???????????-?????(?)" |Move-Item -Destination "C:\Users\user\TestOrdner Powershell\222" Hast du hier vielleicht noch Anregungen? Ist das so sinnvoller als mit ner schleife? Kompakter ist es auf jedenfall schonmal Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 22. Oktober 2018 Melden Teilen Geschrieben 22. Oktober 2018 (bearbeitet) vor 9 Minuten schrieb Gu4rdi4n: Ist das so sinnvoller als mit ner schleife? Das kommt auf Deine Anforderungen und auf Deine Fähigkeiten an. Aber wenn das den Job erstmal erledigt - super. Ich würde aber dringend empfehlen, sich erstmal die Grundlagen draufzuschaffen. Der Videokurs in der MVA dauert nur ca 8 - 10 Stunden und bildet schon mal eine solide Grundlage. bearbeitet 22. Oktober 2018 von BOfH_666 Zitieren Link zu diesem Kommentar
Gu4rdi4n 58 Geschrieben 22. Oktober 2018 Autor Melden Teilen Geschrieben 22. Oktober 2018 Dann werde ich mir den mal zu Gemüte führen! Danke für den Link! Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.