以路径作为变量导出CSV

时间:2012-05-25 16:20:13

标签: variables powershell export-to-csv

我有一个脚本,基本上写下远程共享上的每个文件和文件夹,并将其转储到csv。一切都运行得非常好(除了最后一部分之外,还有很多工作需要在脚本本身上完成)。

        import-csv -path ($savelocation + '\' + $filename) -Delimiter ',' | ForEach-Object { 

            if ($audioarray -contains $_.Extension) {
                $_.MediaType = 'Audio'
                $_
            } elseif ($videoarray -contains $_.Extension) {
                $_.MediaType = 'Video'
                $_
            } elseif ($otherarray -contains $_.Extension) {
                $_.MediaType = 'Other'
                $_
            } else {
                $_
            }
        } | Export-Csv -Path ($savelocation + '\' + $filename) -Force -Delimiter ',' -NoTypeInformation

如果我将路径更改为类似\\servername\share\testfolder的静态位置,则可以正常工作。但是如果我使用上面的内容,或者即使我将($ savelocation +'\'+ $ filename)加入到像$ filename这样的东西中,它仍然会写一个空文件。

2 个答案:

答案 0 :(得分:3)

抱歉,但它不适用于任何路径。原因很简单 - 您可以读/写同一个文件。它工作,如果你读入变量,并处理内存中的数据。

具有存储在变量中的路径(元素)的IMO与它无关。顺便说一句:您可以使用Join-Path cmdlet加入路径...:)

答案 1 :(得分:1)

如果您将路径放在可靠的

中,它将起作用
$path = $savelocation + '\' + $filename
Export-Csv -Path $path -Force -Delimiter ',' -NoTypeInformation