powershell - 重命名文件夹中的特定文件:仅更改第一个数字
问题描述
在文件夹中,我有不同类型的文件。我需要更改特定类型文件的编号。其中一些看起来像:01 sasasasa;02 dadadad 等。我需要在前两位数上加 5。例:06 筱筱;07 dadadad... 但是在其他文件夹中重命名的项目看起来像 1 bububu ; 2 mumumu 等。需要加 5 并在第一位加一个 0。例如:06 布布布;07 mumumu ...当我达到 10+ 时,它不能是:010。
尝试了这种简单的方法:
Get-ChildItem -Path E:\bongbong -Filter *.txt |
%{
Rename-Item -NewName { $_.Name -replace '01','06' } |
Rename-Item -NewName { $_.Name -replace '02','07' } |
Rename-Item -NewName { $_.Name -replace '03','08' } |
Rename-Item -NewName { $_.Name -replace '04','09' } |
Rename-Item -NewName { $_.Name -replace '05','10' }
}
它不适用于第一个示例。在 powershell 中找不到类似 -if 的东西。
解决方案
您可以尝试更动态的方法:
(Get-ChildItem -Path 'E:\bongbong' -Filter '*.txt' -File) |
Where-Object { $_.Name -match '^(\d{1,2})(.*)' } |
Rename-Item -NewName {'{0:D2}{1}' -f ([int]$Matches[1] + 5), $Matches[2]}
推荐阅读
- java - 没有模块化的 Java 11:包在作为 maven 依赖项添加时不存在
- sql - 没有返回行时使用 COALESCE 与 EXCEPTION (Oracle)
- javascript - 是否可以从 nodejs 获取衍生进程的进度?
- django - django_rest_framework,如何通过令牌更新用户配置文件?
- post - Http Post Indy10 错误 Delphi 7:创建 SSL 上下文时出错
- django - DRF JSONRenderer 'ReturnList' 对象没有属性 'get'
- xamarin - 如何在 xamarin 表单中在横向模式和纵向模式下使图标大小相同
- python - ipdb:RuntimeWarning:导入包“ipdb”后在 sys.modules 中找到“ipdb.__main__”
- java - 以下 Selenium 代码正在抛出 StaleElementReferenceExecption。我该如何解决?
- sql - 如何在 SQL/VBA/Excel 中的 Where 子句中添加条件以避免数据类型不匹配