尝试使用带有通配符的Copy-Item时出现问题



好的,我有一个文件列表,我想从一个文件夹复制到另一个文件夹。

我有一个CSV与部分文件名列表,例如:ABCD-EFGH

我要复制的文件在名为ABCD-EFGH-1.pdf, ABCD-EFGH-2的目标文件夹中。dxf, ABCD-EFGH-3。dwg等

如果存在匹配,我将尝试复制所有匹配部分名称的文件。

下面的代码不会抛出错误,它只是复制源文件夹中的所有内容。如果我从-Path中删除*,它只是复制文件夹本身,而不是文件夹的内容。我错过了什么?

$drawing_list = Import-Csv $importfile
#$drawing | Get-Member -MemberType NoteProperty 
# Loop through all the records in the CSV
foreach($drawing in $drawing_list)
{

# copy all items from source folder to destination that match start of drawing name
Copy-Item -Path "$($sourceFolderName)*" -Filter "$($drawing.Name)*" -Destination $targetFolderName 

}

试试$drawing.GetType(),这不仅仅是你的字符串,而是一个[PSCustomObject]
With

$drawing | Get-Member -MemberType NoteProperty 

可以得到可以使用的属性。它们与CSV的标题相同。
如果第一行csv不应该是一个头,您可以定义自己与

Import-Csv $importfile -Header 'YourHeader','NextColumn'

您需要在Copy-Item中使用$drawing的属性,而不是整个$drawing对象:

... -Include "$($drawing.FileName)*"  ...

相关内容

  • 没有找到相关文章

最新更新