我很努力地看到在文件名文本中加双引号的地方出了错。下面的代码在-whatif伞下可以正常工作,但不能没有。

$a = "20`" board"
get-childitem | rename-item -newname {$_.fullname -replace "20 board", $a } -whatif

get-childitem | rename-item -newname {$_.fullname -replace "20 board","20`" board" } -whatif

理想的结果是将20 board替换为20" board
上面的代码片段给了我rename-item : Illegal characters in path.错误。

最佳答案

在Windows中,您不能在文件或文件夹名称中使用某些字符。
双引号就是其中之一。

https://docs.microsoft.com/en-us/windows/desktop/fileio/naming-a-file上了解更多信息。

该页面的节选:

The following reserved characters [are not allowed]:

< (less than)
(greater than)

: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)

关于powershell - 使用PowerShell将双引号写入文件名文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52618346/

10-12 14:47