基于 CSV 内容的 Powershell 复制文件

Tim*_*ano 5 csv powershell copy

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

2.jpg
4.jpg
5.jpg
8.jpg
12.jpg
Run Code Online (Sandbox Code Playgroud)

我在 G:\Numbered\ 中有一个 1-900 的 .jpgs 文件夹,在 G:\Selections 中有一个文件应该放在的目标文件夹。这似乎应该相对简单,但我认为我的代码中缺少某些内容。这是我到目前为止:

import-CSV G:\fileList1.csv | foreach {copy-item G:\Numbered G:\Selections}
Run Code Online (Sandbox Code Playgroud)

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

Ade*_*SIF 7

假设您的 CSV 如下所示:

YourColumnName
2.jpg
4.jpg
n.jpg
Run Code Online (Sandbox Code Playgroud)

尝试这个:

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

但是,如果您的 CSV 只有 1 列没有标题,如下所示:

2.jpg
4.jpg
n.jpg
Run Code Online (Sandbox Code Playgroud)

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

Get-Content files.csv  | ForEach {Copy-Item G:\Numbered\$_ G:\Selections }
Run Code Online (Sandbox Code Playgroud)