2016-07-18 163 views
1

我嘗試準備將從CSV創建文件夾和子文件夾的腳本。用於從csv創建文件夾和子文件夾的Powershell

當我創建CSV 1列「名稱」像這樣

Name 
XYZ 
ZXX 
FFF 

與下面的腳本,我可以實現文件夾

$folder = "D:\Test\" 
$name = Import-Csv D:\Test\Test.csv 
Foreach ($line in $name) 
{ 
    New-Item -path $folder -Name $line.Name -Type Directory 
} 

的創作,我想什麼來實現是有像這樣的CSV

Name;Letter 
XYZ;A 
ZXX;B 
FFF;B 

我希望腳本創建文件夾$ Folder \ Letter \ Name(所以fi最終路徑是D:Test \ A \ XYZ; d:試驗\ B \ ZXX; d:測試\ B \ FFF)。歡迎任何建議。

非常感謝。

回答

0

這應該給你想要的結果

Import-Csv 'D:\Test\Test.csv' -Delimiter ';' | 
    % { 
     $path = Join-Path $folder $_.Letter; 
     New-Item -Path $path -Name $_.Name -Type Directory 
    } 
+0

作品完美,謝謝! – triskac

0

我試圖改善腳本點點。在CSV文件中,名稱和字母可與DAXaholic提供的腳本一起正常工作,但需要在Name文件夾中添加更多子文件夾。我試過這個,但它不起作用,因爲我需要。

$folder = "D:\Test\" 
    $subfolders = "Volvo","Skoda","Tesla" 
    $file = Import-Csv 'D:\Test\Test.csv' -Delimiter ';' 
    $file | 
    % { 
      $path = Join-Path $folder $_.Letter; 
      New-Item -Path $path -Name $_.Name -Type Directory 
    } 

foreach ($subfolder in $subfolders) 
{ 
$file | 
%{ 
$path2 = Join-Path $folder $_.Letter $_.Name; 
New-Item -Path $path2\$subfolder -Type Directory 
} 
    } 

我想達到的是以下內容。腳本應檢查CSV文件,以CSV文件創建用戶將其放入文件夾,並在名稱文件夾中創建3個子文件夾。例如D:\ Test \ A \ XYZ \ Volvo,斯柯達,特斯拉。我在腳本中丟失了什麼?由於

0

,如果有人需要類似的腳本,然後在這裏是解決

$folder = "D:\Test\" 
$subfolders = "Volvo","Skoda","Tesla" 
$file = Import-Csv 'D:\Test\Test.csv' -Delimiter ';' 
$file | 
% { 
     $path = Join-Path $folder $_.Letter; 
     New-Item -Path $path -Name $_.Name -Type Directory 
} 
foreach ($subfolder in $subfolders) 
{ 
$file | %{ 
$path2 = Join-Path $folder $_.Letter; 
$path3 = Join-Path $path2 $_.Name; 
New-Item -Path $path3\$subfolder -Type Directory 
    } 
} 
相關問題