我有一些以jpg格式命名的文件列表,它们位于一个文件夹中:
"1.George ABCD.jpg"
"2.George ABCD.jpg"
"3.Mead ABCD.jpg"
所以我想要做的是将前缀变为后缀,就像这样:
"George ABCD 1.jpg"
"George ABCD 2.jpg"
"Mead ABCD 2.jpg"
我希望它能够递归地通过子文件夹工作。
我尝试过的代码片段如下:
ls -Recurse |? BaseName -match '^(\d+\.)([^0-9].*)$' |ren -new {"{0}{1}{2}" -f $matches[2],' ', $matches[1].substring(0,1)+ $_.extension}
cmd /c pause
现在的问题是,我的代码目前无法处理双数位的名称,例如:
"11.George ABCD.jpg"
相反它所做的是喷出
"George ABCD 1.jpg"
这并不是我想要的,我知道它与正则表达式d+有关,该表达式表示一个或多个数字,但我不确定我应该使用什么来使它对一个或多个数字起作用。
也就是说,我希望将“11.George ABCD.jpg”的输出改为“George ABCD 11.jpg”。
有没有办法可以解决这个问题?
.BaseName
,修整项目,用任何所需的分隔符按所需顺序连接它们,最后从它们中制作一个文件名以在调用Rename-Item
时使用。[咧嘴笑] - Lee_Dailey