2016-02-16 32 views
2

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

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

我有.jpgs的文件夹,从G中1-900:\编号\和其中的文件应该去一个目的地文件夹在G:\选择。这看起来应该是相对简单的,但我认为我在代码中缺少一些东西。这是我到目前为止有:

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

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

回答

2

假设您的CSV这个样子的:

YourColumnName 
2.jpg 
4.jpg 
n.jpg 

试试这个:

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

但是,如果您的CSV有没有列只有1列是这样的:

2.jpg 
4.jpg 
n.jpg 

您应该使用Get-Content,因为它不是真正的csv f ILE。而你的代码应该是:

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

使用Get-Content完美地工作!感谢您的快速回答。 –