如何一次删除多个文件名中下划线前的所有字符?

How can I remove all characters before an underscore in multiple filenames at once?

我的文件夹中有很多文件,如下所示:

test_123.txt

testing_456.txt

testingagain_789.txt

如何一次删除所有文件名中的所有字符,包括下划线?我有大约 2500 个这些文件需要截断,但如果可能的话,我想在命令提示符或 powershell 中截断。

我希望它们看起来像这样:

123.txt

456.txt

789.txt

这是您的操作方式。

$Files = Get-ChildItem -Path 'Path\To\Folder' -File 

foreach ($File in $Files) {
    $Split = $File.Name -split '_'    
    if ($Split.Count -gt 1) {
        Rename-Item -Path $File.FullName -NewName $Split[1]
    }
}

请注意,如果您遇到名称冲突(例如:Hello_123.txt、World_123.txt),但由于您提到的数字是唯一的,所以应该可以解决问题