Я пытаюсь скопировать файл "ab c .txt" из ежедневной папки в папке root. скажем, пути и файлы исходных папок выглядят так: *
\\Server01\rootdir->01-01-20->abc.txt
\\Server01\rootdir->01-01-20->abc.txt
\\Server01\rootdir->01-01-20->Details->abc.txt
..
..
\\Server01\rootdir->10-25-20->Details->abc.txt
\\Server01\rootdir->11-15-20->abc.txt
\\Server01\rootdir->12-30-20->abc.txt ---File existed in parent folder
\\Server01\rootdir->12-31-20->Details->abc.txt ---File not in parent but in child
Я хочу скопировать файлы ab c .txt из всех этих папок в одно место. но во время копирования мне нужно добавить имя папки в файл, как abc_01-01-20.txt. Но есть вероятность, что внутри root -> 01-01-20 может содержаться дочерняя папка ( Details ), и она может иметь такое же имя файла внутри. поэтому, если файл не существует в папке 01-01-20, есть вероятность, что он может существовать в папке " Details ". Если в Родительская папка существовал файл "ab c .txt", сценарий не должен заглядывать в дочернюю ( Подробности ) папку.
TargetDir->abc_01-01-20.txt
TargetDir->abc_01-02-20.txt
..
..
TargetDir->abc_12-31-20.txt
Вот сценарий Я построил
$Source = "\\Server01\root"
$SrcFile="abc.txt"
$GetSrcFile = Get-ChildItem $Source | Where-Object {$_.name -like "$SrcFile"}
$Destination = "C:\Target"
Copy-Item "$Source\$GetFile" "$Destination" -Force -
Confirm:$False -ErrorAction silentlyContinue
if(-not $?) {write-warning "Copy Failed"}
else {write-host "Successfully moved $Source\$SrcFile to $Destination"}
Проблема в том, что этот скрипт не может вытащить и добавить имя папки в файл.