1

我必须复制一个文件名如下

  $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..

我认为问题是文件名中的 [] 。我该如何解决?

4

1 回答 1

3

尝试使用:

copy-item -literalpath $filename $dest_path 

评论后编辑:

要解决此 -match问题,请尝试:

 Where {$_.Name -match [regex]::escape($filename)}

-match取一个regular expression值,你需要使用escape每个特殊字符regex language来避免这样的问题。

于 2013-09-25T08:47:27.230 回答