copy-item funktioniert für Unterverzeichnisse nur das zweite Mal, wenn ein Skript ausgeführt wird

301
Michele

Ich habe ein Skript, das ich zum Sichern von Dateien verwende. Aus irgendeinem Grund werden nur die Dateien und das Verzeichnis des Unterordners kopiert, wenn das Skript das zweite Mal ausgeführt wird. Die Fehlermeldung lautet

Msgstr "Container kann nicht in vorhandene Blattelemente kopiert werden".

Ich suche nach diesem Fehler und sie sagen, ich kopiere eine Datei auf denselben Dateinamen, aber dies ist ein Unterverzeichnis, das nicht einmal erstellt wird, wenn das Skript zum ersten Mal ausgeführt wird. Der Zielordner ist beim ersten Ausführen leer. Irgendwelche Ideen?

Das Quellverzeichnis sieht so aus:

 \\DRIVE01\Svcs \Credential \Forms file and dir list #this dir level doesn't get copied the first time, but the files do 

So sieht das toLoc nach der ersten Ausführung aus:

 me\Documents\2018\powershellFiles\toLoc \Credential \Forms file list #the first time the files get copied without the dirs at this level 

Das ist mein Skript:

function CopyFileToFolderUNC($SourcePath, $DestinationPath){ Copy-Item -Path $SourcePath/* -Destination $DestinationPath #Copy-Item -Path source -Destination target -Recurse -Force  }   #################start here##################################  $tempSource = @("\\DRIVE01\Svcs\Credentialing\FORMS") #eventually will have list of more than one here $ToLocation = "C:\Users\me\Documents\2018 \powershellFiles\toLoc\Credentialing\FORMS\" #this will eventually be array with multiple in it  for($i=0; $i -lt ($tempSource.Length); $i++) { CopyFileToFolderUNC $tempSource[$i] $ToLocation } 

Bevor ich von einem foreach zu einer for-Schleife wechselte, dachte ich, dass es für die Subdirs im toLoc funktionierte. Ich brauche eine for-Schleife, weil es einfacher wird, mit Arrays für die Quell- und Ziel-Dir-Strings umzugehen, die als nächstes folgen.

0

0 Antworten auf die Frage