Ich möchte die Datei "file_to_move.txt" in jedem Ordner in ihren jeweiligen "done" -Ordner verschieben.Dateien mit Poweshell in eine Ordnerstruktur in ihren jeweiligen Unterordner kopieren
so der file_to_move.txtin C: \ Temp \ test \ folder1 zu C bewegt wird: \ Temp \ test \ folder1 \ done und file_to_move.txtin C: \ Temp \ test \ folder2 wird C bewegt: \ Temp \ test \ folder2 \ done
... und so weiter, vorzugsweise mit einem% date% _% time% auf den Datei-Namen hinzugefügt.
Wenn ein Ordner (wie im folgenden Beispiel Ordner4) keine Datei_zu_move.txt hat, sollte das Skript es einfach ignorieren und weitergehen.
Ordnerstruktur Beispiel:
- C: \ Temp \ test \ DONE
- C: \ Temp \ test \ folder1
- C: \ Temp \ test \ folder1 \ done
- C : \ Temp \ test \ folder1 \ some_other_folder
- C: \ Temp \ test \ folder1 \ some_other_file.txt
- C: \ Temp \ test \ folder1 \ file_to_move.txt
- C: \ Temp \ test \ folder2
- C: \ Temp \ test \ folder2 \ done
- C: \ Temp \ test \ folder2 \ some_other_folder
- C: \ Temp \ test \ folder2 \ some_other_file.txt
- C: \ Temp \ test \ folder2 \ file_to_move.txt
- C: \ Temp \ test \ Folder3
- C: \ Temp \ test \ Folder3 \ done
- C: \ Temp \ test \ Folder3 \ some_other_folder
- C: \ Temp \ Test \ Ordner3 \ some_other_file.txt
- C: \ Temp \ test \ Folder3 \ file_to_move.txt
- C: \ Temp \ test \ Folder4
- C: \ Temp \ test \ Folder4 \ done
- C: \ Temp \ test \ Folder4 \ some_other_folder
- C: \ Temp \ test \ Folder4 \ some_other_file.txt
ich habe mit einem Powershell-Skript experimentiert, auch wenn ich es nicht sehr gut bin, und ich weiß nicht, es in einem getan werden kann, Standard-Batch-Skript. Ich habe schon versucht, diese so weit:
In einer Batch-Skript:
SET ThisScriptsDirectory=%~dp0
SET PowerShellScriptPath=%ThisScriptsDirectory%bin\movescript.ps1
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '%PowerShellScriptPath%'"
im movescript.ps1:
Move-Item C:\Temp\test\*\file_to_move.txt C:\Temp\test\*\done\file_to_move_$(get-date -f yyyyMMdd_HHmmss).txt
Aber das funktioniert nicht. Ich denke, es ist nicht präzise genug, um zu arbeiten.
Als Bonus, kann die ganze Sache innerhalb der grundlegenden Skript durchgeführt werden oder müssen wir die externe .PS1-Datei verwenden?