我尝试使用下面的PowerShell脚本重命名一些文件。
powershell.exe "& { Get-ChildItem *.txt | Rename-Item -NewName { $_.name -Replace '.txt','.csv' } }"
但是当执行"& command
"时,$_.name
似乎已经被解析,因此它会抱怨不认识.name
($_
已被删除)。在不使用外部字符串的情况下执行可以解决问题,但由于其他原因,在我的情况下不可行。
如何转义$_.name
?
powershell "& {...}"
包装器。直接运行命令即可。否则$_
不应该被扩展。 - Ansgar Wiecherspowershell.exe "& { Get-ChildItem *.txt | Rename-Item -NewName ( $_.name -Replace '.txt','.csv' ) }"
- Vesper