Powershell根据CSV内容复制文件

时间:2016-02-16 16:24:07

标签: csv powershell copy

Morning Powershell用户, 我试图根据文件名将.CSV文档中列出的文件从一个目录复制到另一个目录。我的.CSV文档只是一列文件名,它看起来像这样:

2.jpg
4.jpg
5.jpg
8.jpg
12.jpg

我在G:\ Numbered \中有一个来自1-900的.jpgs文件夹,以及文件应该放在G:\ Selections的目标文件夹。这似乎应该相对简单,但我想我在代码中遗漏了一些东西。这就是我到目前为止所做的:

import-CSV G:\fileList1.csv | foreach {copy-item G:\Numbered G:\Selections}

我环顾四周,我想我可能需要使用Get-Childitem,但我不知道在哪里。非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:3)

假设你的csv看起来像这样:

YourColumnName
2.jpg
4.jpg
n.jpg

试试这个:

Import-Csv fileList1.csv | ForEach {Copy-Item "G:\Numbered\$($_.YourColumnName)" G:\Selections }

但是如果你的csv只有一列没有这样的列:

2.jpg
4.jpg
n.jpg

您应该使用Get-Content因为它不是真正的csv文件。你的代码应该是:

Get-Content files.csv  | ForEach {Copy-Item G:\Numbered\$_ G:\Selections }