2011-05-16 10 views
2

什麼,我試圖做的是有一個結束CSV文件,像這樣的列表:寫作ChildItem的列表的路徑CSV文件

路徑,得到-childItem
路徑,得到-childItem
路徑,得到-childItem

我是很新的PowerShell的,從而現在我遇到的問題是不是錯誤,而是實際上不知道該怎麼辦

這裏是我的代碼迄今:

$data = gc "c:\Documents and Settings\user\Desktop\paths.txt" 
ForEach($line in $data) { 
$subName = Get-ChildItem "$line" 
write-host $line","$subName 
#Export-Csv -Path "C:\Documents and Settings\reidli\Desktop\mytest.csv" -Force "true" -InputObject $output 

所以我讀的從paths.txt路徑列表每一行是不同的路徑 $ SUBNAME是我想要孩子的名單,是正確的 ,當我寫主機的輸出實際上是在:path,children commenten out是我試圖導出csv的地方,但是這不會工作,因爲它會覆蓋每個路徑的現有csv

有人可以幫助我把foreach循環中的每一行並創建一個.csv文件與每個路徑和兒童?

+0

下面PanikT的問題,什麼是你想完成達成一致,在第二列有1337名行不看起來對我非常感興趣。 – 2011-05-16 19:06:05

+0

只是爲了快速跟進。 我同意用1337空格分隔的文件名稱的行看起來不行。但是,我知道有問題的文件以及它們背後的內容(不超過4個)。這個腳本的目的不是確定那裏有什麼,而只是創建一個列出它們的文件。這樣腳本可以在以後運行,看看是否有更新。 輸出.csv是醜陋的地獄:)但正是我需要的。所以感謝PanikT! – bananajunk 2011-05-18 18:00:23

回答

3

只是根本不使用export-csv。 CSV是純逗號分隔的文本文件。這使得它易於導出:

$data = gc "c:\Documents and Settings\user\Desktop\paths.txt" 
Remove-Item "C:\Documents and Settings\reidli\Desktop\mytest.csv" -ea 0 
ForEach($line in $data) { 
    $subName = Get-ChildItem "$line" 
    write-host $line","$subName 
    "$line,$subName" | Add-Content "C:\Documents and Settings\reidli\Desktop\mytest.csv" 
} 

btw。你真的想分開的子文件空間嗎?這是你當您將獲得-ChildItem串

0

試試這個:

 
$data | select $_ , @{L="subname";[email protected]{(gci $_)}} | Export-Csv "C:\Documents and Settings\reidli\Desktop\mytest.csv" -force