问题描述
我对cmd和Windows powershell不满意,我不想弄乱任何东西,所以我问更聪明的人...
这是我的参考 https://www.thomas-krenn.com/en/wiki/Cmd_commands_under_Windows
我尝试过: 找到* .png -exec mv {} $ {foo:-4}; 但是我得到这个“发现:参数格式不正确”
谁能告诉我我是怎么搞的?
im试图删除文件夹中每个.png文件的最后4位数字。 需要明确的是,我没有试图覆盖.png扩展名。名称的最后4位数字
解决方法
我将在powershell中使用它:
dir "filepath"-filt *.png -rec|ren -newn {($_.basename -replace "\d{4}$","")+$_.extension}
-
dir
(别名为Get-ChildItem
)将递归列出.png文件。 (-rec
->-recurse
,-filt
->-filter
) - 然后通过管道将
ren
(别名为Rename-Item
) - 然后在
-newn
内创建一个脚本块(转到-newname
) - 使用正则表达式替换基本名称(不带扩展名的文件名)的后4位(
\d
匹配一个数字,{4}
恰好匹配4个实例,$
匹配字符串的末尾)和加入扩展名,$_
进入管道项目。
与Wasif的答案类似,但是请确保名称的长度至少为5位,这样您就不会以任何名为.png
的文件结尾。
Get-ChildItem -path $folder -Filter *.png |
Where-Object {$_.Name -match '.{5}.png'} |
Rename-Item -NewName {$_.BaseName -replace '.{4}$',".png"}
,
我发现了一种更简单的方法,在Visual Studio代码中打开您的文件夹,安装由jannisx11 v0.0.3命名为Batch Rename的插件
安装后,选择要更改名称的所有文件夹或文件,然后突出显示要替换的位,然后可以查找并替换或使用ctrl + d来选择下一个,直到所有需要的文件选择更改。现在您只需输入即可更改名称。一旦准备就绪,就可以保存,它将自动为您重命名所有文件。 1泛型项目-> 1泛型 考虑到我要求使用cmd或Power-shell示例时,这不是对原始问题的答案,但我的印象是,只有在进行更多研究之前,这样做的唯一两种方法,我应该做更彻底的研究一开始。