Если вы хотите переместить только файлы, быстрый грязный метод будет выглядеть примерно так:
$InputFolder = "C:\Dir"
$FilesToMove = Get-ChildItem -LiteralPath $InputFolder -Recurse | where { ! $_.PSIsContainer }
foreach ($File in $FilesToMove)
{
Move-Item -LiteralPath $File.PSPath -Destination $InputFolder -Force
}
Так что, если, например, у вас есть: C:\Dir\MyDir1\File.txt
, он переместит его в c:\dir\file.txt
Однако папки не будут перемещены.
например, скажем, c:\Dir\MyDir2\AnotherDir\
содержит File1.txt
и Fle2.txt
будут перемещены только файлы .txt
, c:\Dir\MyDir2\AnotherDir\
останется без изменений, нобез каких-либо файлов.