我有一个脚本,该脚本基本上记下了远程共享上的每个文件和文件夹,并将其转储到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的内容中,它仍然只会写入一个空文件。

最佳答案

抱歉,它不能用于任何路径。原因很简单-您读/写相同的文件。如果您可以读入变量,然后对内存中的数据进行处理,它将可以正常工作。

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

关于variables - 导出CSV,路径为变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10758013/

10-13 07:51
查看更多