[解決済み] powershellでパラメータ'Path'がNULLのため引数を結合できないエラーの取得
2022-01-31 21:03:01
質問
ファイル名に含まれる特殊文字を取り除いたすべてのメールを、ファイル名に基づいてある宛先に移動させようとしています。 FOLDLISTは配列で、そこに条件変数と移動先のフォルダ名を持っています。
Set-Location 'C:\Users\abrahame\Desktop\Work\PSG Mail Movement\Mail'
$DESLOC="c:\Temp\ua-closed bugs"
$FOLDLIST = @(("UA", "CLOSE", "ua-closed bugs"), ("VS", "CLOSE", "vs-closed-bugs"), ("CM", "CLOSED", "cm - closed-bugs"))
gci | Foreach-object { $NEWN = $_.Name -replace '&',' ' -replace '_', ' ' -replace '#', ' ' -replace '!', ' ' -replace '@', ' ' -replace '$', ' ' -replace '%', ' ' -replace '^', ' ' -replace '&', ' ' -replace '\(', ' ' -replace '\)', ' ' -replace '\[', ' ' -replace '\]', ' ' -replace '\{', ' ' -replace '\}', ' ' -replace '\-', ' ';
write-host $NEWN.Length
if($NEWN.Length -gt 70){
$NEWN="$NEWN.Substring(1,70)"
$NEWN=$NEWN.msg
}
$FOLDLIST | ForEach-Object {
$CXR=$_[0]
$STAT=$_[1]
if ($NEWN -match ("$CXR") -and $NEWN -match ("$STAT")){
write-host $CXR - $STAT
$DIR=$_[2]
$NEWN=$NEWN.trim()
$DPATH="$DESLOC\$DIR\$NEWN"
write-host $DPATH
mv $_.Name $DPATH
}
}
}
このエラーが発生しました。どこを間違えてしまったのか、アドバイスをお願いします。
67
UA - CLOSE
c:\Temp\ua-closed bugs\ua-closed bugs\RE CLOSE OA TICKET 10350 OA UAT PHASE FOR HP FARES 1 .msg
Move-Item : Cannot bind argument to parameter 'Path' because it is null.
At C:\Users\abrahame\Desktop\Work\PSG Mail Movement\mailmove_multdimentional.ps1:24 char:5
+ mv <<<< $_.Name $DPATH
+ CategoryInfo : InvalidData: (:) [Move-Item], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.MoveItemCom
mand
解決方法は?
私の推測では、$_.Nameが存在しないのだと思います。
私があなただったら、スクリプトをISEに取り込んで、そこに到達するまで一行ずつ実行して、$_の値を見ますね。
関連
-
[解決済み】Invoke-Command エラー "Parameter set cannot be resolved using specified named parameters".
-
[解決済み】'<'演算子は将来の使用のために予約されている
-
[解決済み] Get-ADUserとフィルタを含むForEach-Objectループ
-
[解決済み] Push-LocationとSet-Locationの使い分けは?
-
[解決済み] Powershell - 空のパイプ要素は許可されません。
-
[解決済み] 管理者として実行しても、「要求されたレジストリへのアクセスは許可されません」と表示される。
-
[解決済み] PowerShellで遠隔地からファイルをコピーする
-
[解決済み] PowerShell モジュールを全ユーザーに持続的にインストールする
-
[解決済み] いずれかのキーを押して続行[複製]。
-
[解決済み] PowerShell:PowerShellで配列オブジェクトを文字列に変換するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PowerShellの関数で変数をインクリメントする
-
[解決済み] PowerShell NTFSの高度なパーミッションの設定
-
[解決済み] Get-ADUser でのエラー: 無効な列挙コンテキスト
-
[解決済み] "get-wmiobject win32_process -computername" でエラー "Access denied , code 0x80070005" が発生する。
-
[解決済み] Powershell - 空のパイプ要素は許可されません。
-
[解決済み] Powershell ISE 内の別の PS1 スクリプトから PowerShell スクリプト PS1 を呼び出す
-
[解決済み] PowerShellで改行するには?
-
[解決済み] powershellスクリプトで、最後に改行を入れずにWrite-Warningすることはできますか?
-
[解決済み] 実行中のPowerShellスクリプトからすべての環境変数を表示する
-
[解決済み] powershellの&マークはどういう意味ですか?