我試圖用PowerShell腳本的一些文件重命名下面Powershell的管道在字符串
powershell.exe "& { Get-ChildItem *.txt | Rename-Item -NewName { $_.name -Replace '.txt','.csv' } }"
但$_.name
似乎執行"& command"
時被解析,所以它抱怨不知道.name
(帶$_
已被刪除)。在沒有外部字符串的情況下執行它可以解決問題,但由於其他原因在我的情況下不可行。
如何逃生$_.name
?
你是從PowerShell的運行呢?如果是這樣,你不需要'powershell「&{...}」包裝器。只需直接運行命令。否則'$ _'不應該展開。 –
嘗試在外部字符串和雙引號內使用單引號? –
你是如何運行這個命令的?使用PSv5時,它的工作原理與我在CMD中執行時一樣... –