我很努力地看到在文件名文本中加双引号的地方出了错。下面的代码在-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/