本帖最后由 WHY 于 2021-5-7 23:30 编辑
回复 10# 5i365
假设文件夹名称为 _CMD
第一次重命名变成 _CMD_05.07-13.09
第二次重命名时,.09 被当做扩展名,正则表达式 '(?>(.\d\d)+)$' 仍然匹配 BaseName,即 _CMD_05.07-13,造成重命名错误。
先重命名文件,再重命名文件夹。- @echo off
- PowerShell "$reg='_\d\d\.\d\d-\d\d\.\d\d$'; $dt=(get-Date).ToString('_MM.dd-HH.mm'); dir _* | ?{$_ -is [IO.FileInfo] -and $_.Extension -eq '.txt'} | ren -NewName{($_.BaseName -replace $reg) + $dt + $_.Extension}; dir _* | ?{$_ -is [IO.DirectoryInfo]} | ren -NewName{($_.Name -replace $reg) + $dt}"
- pause
复制代码
|