Создание папок из значений в CSV - PullRequest
0 голосов
/ 12 сентября 2011

Я работаю над небольшой частью более крупного скриптового решения, в котором мне нужно создать папки на основе значений, хранящихся в CSV, а затем переместить соответствующие файлы в новую папку в соответствии со значениями в столбце CSV.

Формат CSV:

fileName, folder
AC002       Y
AC034       Y
AC001
X2400       Y
AC006
AC007
AC009       Y

Это код, который у меня работает для проблемы:

$sourceDir = read-host "Please enter source Dir:"

$csv = import-csv C:\scripts\files\files.csv
$csv | where {$_.folder -eq 'Y'} | % {
            $path = $sourceDir + "\" + $_.fileName 
            if(-not (Test-Path $path))
            {
                md $path

            }#end if
        }#end for

Следующий шаг, вероятно, будет немного сложнее.

Спасибо Шей Леви за помощь, Craig

1 Ответ

1 голос
/ 12 сентября 2011

Попробуйте, это создаст папку, даже если она существует.Мы можем изменить это, если вы хотите, и создавать только папки, которые не существуют:

$csv = import-csv C:\scripts\files\files.csv
$csv | where {$_.folder -eq 'y'} | `
       foreach { md -force (join-path $sourceDir $_.fileName) }
...