2016-02-16 2 views
2

Пользователи Morning Powershell, Я пытаюсь скопировать файлы, перечисленные в документе .CSV, из одного каталога в другой на основе имени файла. Мой .CSV документ только один столбец имен файлов, это выглядит следующим образом:Файлы с копией Powershell на основе содержимого CSV

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

У меня есть папка .jpgs от 1-900 в G: \ Номерные \ и папку назначения для которой файлы должны в 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 отлично работает! Спасибо за быстрый ответ. –

Смежные вопросы