我正在尝试使用PowerShell重命名Windows中的多个文件。 我想重命名替换这种模式:
“123456-the_other_part_of_the_string”。 例如:
409873-doc1.txt
378234-doc2.txt
1230-doc3.txt
基本上我想裁剪数字+' - '东西。
答案 0 :(得分:2)
$variable -replace "^\d+-", ""
答案 1 :(得分:0)
[0-9]*?-[^.]*
我建议您花些时间学习正则表达式,而不是仅使用SO的答案。您将遇到各种不寻常的文件命名,可能会在现实世界中抛弃您的程序,如果不了解正则表达式,您将无法解决这些问题。
编辑:不确定您是否还要删除“名称”部分。如果没有,请改用:
[0-9]*?-
答案 2 :(得分:0)
Get-ChildItem . *.txt | Where {$_.Name -match '^\d+-(.*)'} |
Rename-Item -NewName {$matches[1]}
或使用别名:
gci . *.txt | ?{$_.Name -match '^\d+-(.*)'} | rni -new {$matches[1]}