我必须复制文件名如下
$filename = "Sport.EL#15.csv.[]"
进入另一个文件夹。
如果我使用
copy-item -force Sport.EL#15.csv.[] $dest_path
它不起作用。
因为我这样做:
foreach ($f in Get-ChildItem $pathfile | Where {!$_.PsIsContainer} | Where {$_.Name -match $filename}){....}
,错误是
Bad argument to operator '-match': parsing "Sport.EL#15.csv.[]" - Unterminated [] set..
我认为问题是文件名中的[]。我该如何解决?
答案 0 :(得分:3)
尝试使用:
copy-item -literalpath $filename $dest_path
评论后编辑:
解决-match
问题尝试:
Where {$_.Name -match [regex]::escape($filename)}
-match
获取regular expression
值,您需要escape
regex language
中使用的每个特殊字符,以避免此类问题。