2012-09-25 85 views
1

我是PowerShell新手,想知道是否有办法从文件名中删除一个字符。我试图删除的字符是破折号“ - ”,有时文件名中有2或3个破折号。是否有可能重命名其中有破折号的文件?删除PowerShell中的文件名字符

回答

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

这个问题可能更适合SuperUser。

+0

我可以为Get-Item使用通配符:'Get-Item。\ *。tif'吗? – Noesis

+0

如何在注释中格式化代码 – Noesis

+1

是的,您可以在'Get-Item'中使用通配符。而你通过将它放在反引号之间来格式化代码:\'code \' –

2

要删除或文件名使用替换字符单引号'和“特”字用反斜杠\因此正则表达式解析器需要它的字面转义。

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

gi * | % { rni $_ ($_.Name -replace '\$', '') } 
:如上使用每个命令的短别名

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

以下是相同的

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

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