我有多个文件要编辑。
它们看起来像
20190122-233715-886_tlog.354.2019012223043
前缀主要是日期和时间戳以及处理ID。
我需要成为
tlog.354.20190122230435
答案 0 :(得分:0)
您可以使用替换功能。 例如:
"20190122-233715-886_tlog.354.2019012223043" -replace "^.*_",""
会返回
tlog.354.2019012223043
因此您可以执行以下操作:
$file=Get-Item -Path "D:\temp\20190122-233715-886_tlog.354.2019012223043.txt"
Rename-Item $file -NewName $($($file.Name) -replace "^.*_","")
文件将被重命名
答案 1 :(得分:0)
将正则表达式与捕获组配合使用可以使您
在单个管道中重命名。
Get-ChildItem *_tlog.* |
Where-Object Name -match '^\d{8}-\d{6}-\d+_(tlog.*)$'|
Rename-Item -NewNAme {$Matches[1]} -WhatIF
如果输出看起来正常,请删除-WhatIf
使用别名运行的示例(在我的德语语言环境中):
PS> gci *_tlog.*|? Name -match '^\d{8}-\d{6}-\d+_(tlog.*)$'|Ren -NewName {$Matches[1]} -WhatIF
WhatIf: Ausführen des Vorgangs "Datei umbenennen" für das Ziel
"Element: A:\Test\20190122-233715-886_tlog.354.2019012223043
Ziel: A:\Test\tlog.354.2019012223043".