PowerShellを使用したアイテムの移動に関する簡単な質問:ファイル名に[または]文字が含まれていると次のスクリプトが機能しない理由を誰かが知っていますか?(例:file1 [VT] .txt)
ls j:\ | foreach {
$itemName = $_.Name.Replace('.', ' ')
$destination = ls | where { $itemName -match $_.Name } | select -First 1
if ($destination -ne $null) {
mi $_.PSPath $destination.PSPath -Verbose -WhatIf
}
}
たとえば、file1.txtという名前のファイルは移動しますが、 file1[VT].txtという名前のファイルは無視されます。名前にchars[または]が含まれている場合、ファイルへのパスが見つからないと想定しています。何か案は?