2011-09-12 5 views
0

CSV에 저장된 값을 기반으로 폴더를 만들고 값에 따라 해당 폴더로 새 파일을 이동해야하는 더 큰 스크립팅 솔루션을 개발하고 있습니다. CSV의 칼럼에CSV 값으로 폴더 만들기

CSV 파일 형식 :

$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 

다음 단계는 아마 조금 더 까다로운 일이 될 것입니다 :

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

이 내가 문제에 대한 작업 한 코드입니다. 도움을 셰이 레비에

감사합니다, 크레이그

+0

csv 파일의 모든 파일과 폴더는 $ sourceDir 아래에 있습니까? –

답변

1

는 그것이 존재하는 경우에도 폴더를 생성합니다,이보십시오. 존재하지 않는 폴더 만 만들고 원하는 경우 변경할 수 있습니다.

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

전에 join-path cmdlet을 본 적이 없으니 고맙습니다. 이것은 치료법을 사용합니다. for 루프와 그 블라인드하게 명백한 것 전에 필드를 필터링하는 방법을 알지 못했습니다. 나는이 코드를 개선하기위한 방법을 알고 있다면 폴더가 존재하지 않을 때만 폴더를 만드는 법을 어떻게 보여줄지 보여주기 위해 원본을 편집했다. 나는이 코드를보고 싶을 뿐이다. –