我是PowerShell的新手,想知道是否有办法从文件名中删除字符。我想要删除的字符是短划线“ - ”,有时文件名中有2或3个短划线。是否可以重命名包含破折号的文件?
答案 0 :(得分:7)
Get-Item .\some-file-with-hyphens.txt | ForEach-Object {
Rename-Item $_ ($_.Name -replace "-", "")
}
这个问题可能更适合SuperUser。
答案 1 :(得分:2)
要删除或替换文件名中的字符,请使用单引号'
和" special" 1}}字符使用反斜杠\
对它们进行转义,因此正则表达式解析器可以直接使用它。
以下内容从当前目录中的所有文件名中删除$
(美元符号):
Get-Item * | ForEach-Object { rename-item $_ ($_.Name -replace '\$', '') }
以下内容与上面相同,使用每个命令的较短别名:
gi * | % { rni $_ ($_.Name -replace '\$', '') }
以下是删除标准字符" Z
"来自当前目录中的所有文件名:
gi * | % { rni $_ ($_.Name -replace 'Z', '') }