我有一个文件夹source。它有以下文件:
image_00000.jpg
...
...
image_08000.jpg
还有一些在末尾附加了否定词的子文件夹:
我的目标是复制特定文件,例如从image_00000.jpg 到 image_00250.jpg集之外的所有文件。此外,我还需要复制一些在末尾附加了否定词的子文件夹。
我写了以下脚本:
cls
$source = "All_flowers_images_negatives"
$destination = "Passion_Flower_Negative_Images_temp"
<#
foreach ($i in Get-ChildItem -Path $source -Recurse)
{
if ($i.Name -match "image_(?!(000\d\d|001\d\d|002[0-4]\d|0025[0-1]))\d{5}\.jpg")
{
Copy-Item -Path $i.FullName -Destination $i.FullName.Replace($source,$destination).Trim($i.Name)
}
}
#>
foreach ($i in Get-ChildItem -Path $source -Recurse)
{
if ($i.Name -match "Negatives$")
{
Copy-Item -Path $i.FullName -Destination $i.FullName.Replace($source,$destination).Trim($i.Name)
}
}
选择性文件复制有效(这就是我将其注释掉的原因)但第二个命令仅复制文件夹结构而不复制这些子文件夹中的任何文件。我应该做出哪些改变?
EDIT1:代码已被编辑,问题仍然存在。
EDIT2:它适用copy-item -recurse
并且我的目标已经实现,但我仍然得到,
Copy-Item : The given path's format is not supported.
At F:\_102flowers-500X500\copy_positives_Passion_Flower.ps1:18 char:18
+ Copy-Item <<<< -Recurse -Path $i.FullName -Destination $i.FullName.Replace($source,$destination).Trim($i.Name)
+ CategoryInfo : NotSpecified: (:) [Copy-Item], NotSupportedException
+ FullyQualifiedErrorId : System.NotSupportedException,Microsoft.PowerShell.Commands.CopyItemCommand
为什么?