嘿,我对 PowerShell 相当陌生,我正在尝试创建一个电影传输脚本。我创建了一个脚本,它将列出我的电影文件夹中的子项目并将它们转储到 .csv。然后,最终用户将能够选择 .csv 中的文件并将“y”放在另一列中。然后,我将运行 Powershell 脚本以使用“y”列过滤掉他们的选择,并将项目比较并复制到单独的文件夹/驱动器。
我在将 .csv 与保存电影的原始文件夹进行比较然后将它们复制到另一个文件夹时遇到了一些问题。我的脚本一次只能使用 [0] 等查找和复制一个数组项。
这是我的 export-csv 脚本(没有问题)和我的复制项脚本(有问题)的示例
导出-CSV.ps1
$Movies = "D:\Media\Movies"
Get-ChildItem $Movies | select name,y | Export-Csv D:\Media\Media_Scripts\Movies.csv -NoTypeInformation
以及输出 .csv 文件的图像
COPY-ITEM.ps1 有效,但仅当我在 $csv_name 之后的 [] 中添加单个数组编号时。这并不理想,因为我想递归并将所有选定的文件夹复制到新位置
$Csv_loc = "D:\Media\Media_Scripts\"
$Movies_loc = "D:\Media\Movies\"
$Test = "D:\Media\Media_Scripts\Test\"
$csv = Import-Csv "$csv_loc\Movies.csv" | Where-Object{$_.y -eq "y"} | select name
$csv_name | foreach($_)
{
Get-ChildItem $movies_loc | Where-Object {$_.Name -contains $csv_name[0]} | copy-item -Destination $Test -Recurse -Verbose
}