如何一次删除多个文件名中下划线前的所有字符?
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),但由于您提到的数字是唯一的,所以应该可以解决问题
我的文件夹中有很多文件,如下所示:
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),但由于您提到的数字是唯一的,所以应该可以解决问题