$src = "G:\temp"
$target = "G:\notalone"
if (Test-Path $src)
{
$folders = Get-ChildItem $src -Recurse | ?{ $_.PSIsContainer }
foreach($folder in $folders)
{
$fc = Get-ChildItem $folder.FullName | ?{!$_.PSIsContainer} | Measure-Object | Select-Object -Expand Count
if ($fc -eq 1)
{
$file = Get-ChildItem $folder.FullName | ?{!$_.PSIsContainer} | Select-Object
Write-Host "Moving " $file.FullName " to " $target
Move-Item $file.FullName $target
}
}
}
Esto debería funcionar en Powershell, reemplazar src y target. Si tiene los mismos nombres de archivo, no se sobrescribirá. Puedes agregar fuerza a Move-Item para que eso suceda.
Esto probablemente podría ser condensado, soy un principiante con powershell.