我要做的是拥有这样的结束CSV文件:
path,get-childItem
path,get-childItem
path,get-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是我想要的儿童列表,是正确的 当我写主机时,输出实际上是:路径,孩子 commantented是我试图导出csv的地方,但这不会起作用,因为它会覆盖每个路径的现有csv
有人可以帮我在foreach循环中获取每一行,并为每个路径和子项创建一个.csv文件吗?
答案 0 :(得分: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"
}
顺便说一句。你真的希望子文件空间分开吗?这是你将Get-ChildItem转换为字符串
时得到的结果答案 1 :(得分:0)
试试这个:
$data | select $_ , @{L="subname";E=@{(gci $_)}} | Export-Csv "C:\Documents and Settings\reidli\Desktop\mytest.csv" -force