4

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

4

2 回答 2

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

这个问题可能更适合超级用户。

于 2012-09-25T21:15:01.207 回答
6

要删除或替换文件名中的字符,请使用单引号',“特殊”字符使用反斜杠转义它们,\以便正则表达式解析器按字面意思理解。

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

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

以下与上述相同,为每个命令使用较短的别名:

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

以下是Z从当前目录中的所有文件名中删除标准字符“”:

gi * | % { rni $_ ($_.Name -replace 'Z', '') }
于 2014-04-12T10:04:38.370 回答