亲爱的Powershell大师,
我在名为C:\ Downloads \ Signs的文件夹中有几千个文件。 文件以其尺寸命名,如13X20 abcdjd.psf,8X20 jdscnjfc.psf,14X24 dje.psf等。 我想要做的是将这些文件移动到在C:\ Downloads \ Signs中创建的目标文件夹,文件夹名称是文件名的维度。文件夹名称的示例将是13X20,8X20,14X24等,并且它取决于具有其尺寸的唯一文件名。 因此,不是手动移动它们来查看C:\ Downloads \ Signs文件夹中有多少文件,然后单独移动它们,我们如何在Powershell中执行此操作?
谢谢, 桑德斯。
答案 0 :(得分:3)
此脚本将从C:\ Downloads \ Signs文件夹的根目录中获取所有psf,并将文件移动到目标文件夹(如果文件夹不存在,则会创建文件夹):
Get-ChildItem C:\Downloads\Signs -Filter *.psf | Where-Object {!$_.PSIsContainer} | Foreach-Object{
$dest = Join-Path $_.DirectoryName $_.BaseName.Split()[0]
if(!(Test-Path -Path $dest -PathType Container))
{
$null = md $dest
}
$_ | Move-Item -Destination $dest -Force
}