Ich versuche, Dateien aus einem Quellordner in einen Zielordner zu kopieren und die Dateien im Prozess umzubenennen.Powershell Kopieren und Umbenennen von Dateien
$Source = "C:\Source"
$File01 = Get-ChildItem $Source | Where-Object {$_.name -like "File*"}
$Destination = "\\Server01\Destination"
Copy-Item "$Source\$File01" "$Destination\File01.test" -Force -
Confirm:$False -ErrorAction silentlyContinue
if(-not $?) {write-warning "Copy Failed"}
else {write-host "Successfully moved $Source\$File01 to
$Destination\File01.test"}
Das Problem ist, dass seit Get-ChildItem
keine Fehlermeldung wird ausgelöst, wenn die Datei nicht gefunden wird, sondern gibt Ihnen nur ein leeren, habe ich am Ende mit einem Ordner File01.test
in Ziel aufgerufen, wenn keine Datei namens File*
existiert in $Source
.
Wenn es existiert, führt der Kopiervorgang gut aus. Aber ich möchte nicht, dass ein Ordner erstellt wird, wenn keine übereinstimmenden Dateien in $Source
vorhanden sind, sondern nur eine Fehlermeldung, die in einer Protokolldatei protokolliert wird, und keine Dateioperation stattfindet.