2016-07-14 127 views
0

我重命名了数百个文件,所有这些文件都随着项目ID和之后的一堆文本而变化。例如...重命名Powershell中的文件删除“_”后的所有内容

BBAT300_abcdefg.xls BBAT400_abcdefg.xls

我需要删除一切从下划线,并在包括下划线,所以结果是这样的:

BBAT300.xls BBAT400 .xls的

,我发现这个有点早的代码...

Get-ChildItem -Name -Filter *.xls | foreach {[Regex]::Match($_,"^[^_]*").Value} 

,它APPEA rs工作,但我不能让它实际重命名文件。我对脚本的了解很少,所以这可能是一个简单的解决方法,我似乎无法找到它。 Powershell将在PowerShell中显示结果,但实际上不会重命名文件。

回答

0

你可以只管这行来重命名项命令:

Get-ChildItem -Filter *.txt | Foreach-Object -Process { 
    $NewName = [Regex]::Match($_.Name,"^[^_]*").Value + '.txt' 
    $_ | Rename-Item -NewName $NewName 
} 

编辑:改变了它支持任何位置

+1

这工作!谢谢! – Brian

相关问题