我有一个脚本,该脚本基本上记下了远程共享上的每个文件和文件夹,并将其转储到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/