我正在尝试通过文件夹中的几个文档运行PowerShell脚本,并替换任何可能包含一些特殊字符的文档,主要是$,#。但我想一次做两件事。
$files1 | ForEach-Object {Rename-Item $_ ($_.FullName -replace "#", "")}
目前我收到错误
重命名 - 项目:找不到驱动器。一个名为' @ {FullName = F'不存在。行:2字符:3 +重命名项目$ _($ _。FullName -replace"#","")
files1变量的输出是这个
FullName : F:\baggy\17_10_27 may waiver - dondeal - EPT 2337 jonney - CLOSE OUT #025-17.msg ParentFolder : F:\baggy\ FullPathLength : 108 Extension : msg Name : 17_10_27 may waiver - dondeal - EPT 2337 jonney - CLOSE OUT #025-17.msg Length : 121344 LastWriteTime : 10/27/2017 1:43:02 PM FullName : F:\baggy\17_10_27 crickey waivers for drum skyline un-cement - #068-17 rewax RX - resent to OOE.msg ParentFolder : F:\baggy\ FullPathLength : 106 Extension : msg Name : 17_10_27 crickey waivers for drum skyline un-cement - #068-17 rewax RX - resent to OOE.msg Length : 386560 LastWriteTime : 10/27/2017 4:16:23 PM
非常感谢任何帮助
答案 0 :(得分:0)
这应该可以解决问题:
Get-ChildItem -Path X:\path-you-want | Rename-Item {$_.FullName -replace '#' -replace '$'}
答案 1 :(得分:0)
试试这个:
$files1 | ForEach-Object {Rename-Item $_.FullName ($_.FullName -replace "#", "")}
但是,如果您不移动文件,我建议:
$files1 | ForEach-Object {Rename-Item $_.FullName ($_.Name -replace "#", "")}