2

基本的に、リモート共有上の各ファイルとフォルダーを書き留めて 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でも、空のファイルを書き込むだけです。

4

2 に答える 2

4

申し訳ありませんが、どのパスでも機能しません。理由は簡単です。同じファイルを読み書きするからです。変数を読み込んで、メモリ内のデータを処理する場合は機能します

変数にパス(要素)が格納されているIMOは、それとは何の関係もありません。ところで: Join-Path コマンドレットでパスを結合できます... :)

于 2012-05-25T19:31:09.337 に答える