Я пытаюсь использовать PowerShell для копирования отдельных файлов из массива в папку назначения. Однако мне нужно также скопировать каждый файл с соответствующей исходной папкой. Не все содержимое этой папки, а только папка и файл. Например:Скопируйте один отдельный файл с его родительской папкой/полным путем
Copy-Item -Path \\SERVER\FOLDER1\FOLDER2\FILE.TXT -Destination E:\TEMP
Теперь очевидно, что это принесет этот файл, но это все. Мне нужно, чтобы он доставил этот файл и, по крайней мере, папку, в которой он находится, поэтому я предпочел бы завершить это: E: \ TEMP \ FOLDER2 \ FILE.TXT. В качестве альтернативы, хотя и не идеально, я мог бы иметь дело с E: \ TEMP \ FOLDER1 \ FOLDER2 \ FILE.TXT. Но я ничего не делаю, это переносить папку/контейнер, в котором находится файл, только сам файл и все.
Спасибо, Мартин. Папка еще не существует в целевом объекте, поэтому я пытаюсь перенести файл ** и ** его соответствующую папку в целевую папку. Я пытаюсь запустить что-то вроде следующей строки перед строкой, которую вы предоставили, но это не работает для меня (конечно, потому что я делаю что-то неправильно): 'Get-Item $ file | Новый элемент {Join-Path 'E: \ TEMP' (Split-Path $ _. DirectoryName -Leaf)} -тип каталога | Out-Null' ** - OR - ** 'Get-Item $ file | Новый элемент E: \ TEMP \ $ _.Каталог каталогов DirectoryName | Out-Null' - ($ file - это переменная, которая исходит из того, что находится в большем массиве) – EdgarBot
'Split-Path' здесь не требуется. '$ _. Directory.Name' предоставит вам имя каталога. –
@AnsgarWiechers Спасибо за подсказку, я обновил свой ответ. –