我试图通过文件夹中的几个文档运行PowerShell脚本,并替换所有可能包含某些特殊字符的文档,主要是$,#。但是我想一次做。
$files1 | ForEach-Object {Rename-Item $_ ($_.FullName -replace "#", "")}
目前我在下面遇到错误
重命名:无法找到驱动器。名称为'@{fullname = f'的驱动器不存在。>
Files1变量的输出是此
fullname:f: baggy 17_10_27 5月豁免-Dondeal -EPT 2337 Jonney-关闭#025-17.MSG父母:f: aggy 全路:108扩展:味精姓名:17_10_27 5月豁免-Dondeal -EPT 2337 Jonney-关闭#025-17.MSG长度:121344持久时间:10/27/2017 1:43:02 pm fullname:f: abagy 17_10_27 crickey豁免鼓天际线 - #068-17 rewax rx-对ooe.msg的不满父母:f: aggy 全路:106扩展:味精姓名:17_10_27 Crickey豁免鼓天际线 - #068-17 REWAX RX-对OOE.MSG的不满长度:386560持久时间:10/27/2017 4:16:23 PM
尝试以下:
$files1 | ForEach-Object {Rename-Item $_.FullName ($_.FullName -replace "#", "")}
如果您不移动文件,我建议:
$files1 | ForEach-Object {Rename-Item $_.FullName ($_.Name -replace "#", "")}
这应该做技巧:
Get-ChildItem -Path X:path-you-want | Rename-Item {$_.FullName -replace '#' -replace '$'}