Я пытаюсь скопировать файл с именем "dat". У этого файла нет расширения. Дело в том, что в родительской папке «Personal» у меня есть 500 папок, и все эти 500 папок имеют файл «dat». Я заинтересован в том, чтобы скопировать все эти файлы dat и поместить их в каталог назначения.
Поэтому, когда я вставляю эти файлы 'dat' в свой целевой каталог, я надеюсь назвать их следующим образом:
"Folder_they_were_residing_in.dat"
Таким образом, все файлы dat будут переименованы в имя_папки, в котором они находились, с расширением'dat '.
Это возможно?
Настроить $source
и $dest
при необходимости добавьте косую черту в конце.
$source = "H:\personal\"
$dest = "H:\archive\"
Get-ChildItem -Recurse -Path $source |
Where-Object { $_.PsIsContainer -eq $false -and $_.Name -eq "dat" } |
ForEach-Object { $_.CopyTo( $( $dest + $_.Directory.Name + ".dat" ), $true ) }
PS H:\> foreach($_ in Get-ChildItem dat -Recurse) { Copy-Item $_.Fullname H:\dest\$($_.Directory.ToString().Split("\")[-1])`.dat }