从powershell中的文件名中删除字符

时间:2012-09-25 20:56:39

标签: powershell

我是PowerShell的新手,想知道是否有办法从文件名中删除字符。我想要删除的字符是短划线“ - ”,有时文件名中有2或3个短划线。是否可以重命名包含破折号的文件?

2 个答案:

答案 0 :(得分:7)

Get-Item .\some-file-with-hyphens.txt | ForEach-Object {
  Rename-Item $_ ($_.Name -replace "-", "")
}

这个问题可能更适合SuperUser。

答案 1 :(得分:2)

要删除或替换文件名中的字符,请使用单引号'和" special" \对它们进行转义,因此正则表达式解析器可以直接使用它。

以下内容从当前目录中的所有文件名中删除$(美元符号):

Get-Item * | ForEach-Object { rename-item $_ ($_.Name -replace '\$', '') }

以下内容与上面相同,使用每个命令的较短别名:

gi * | % { rni $_ ($_.Name -replace '\$', '') }

以下是删除标准字符" Z"来自当前目录中的所有文件名:

gi * | % { rni $_ ($_.Name -replace 'Z', '') }