Windows 7/64位:如何更改文件夹内的所有文件的文件扩展名

我有几百个.jpg图片。 问题是,一些有“.jpg”和其他人有“.JPG”作为文件扩展名。

我在Windows 7,64位。 如何轻松地将所有文件扩展名更改为相同的名称(在这种情况下是“.jpg”)? 有没有某种命令行命令?

从目录中的命令提示符: ren *.* *.jpg

要recursion地做:

 for /r %f in (*.jpg) do rename "%f" "%~nf.jpg" 

要么

 for /r %f in (*.jpg) do rename "%f" "*.jpg" 

一个PowerShell的方式:

 get-childitem | where {$_.name -match 'JPG'} | %{rename-item -path $_ -newname "$($_.basename).jpg"} 

编辑:请求的解释

得到的孩子很像旧的“dir”命令。

其中实际上是where-object的别名,并且是过滤cmdlet

百分号(%)是cmdlet foreach-object的别名,它为每个传递的项目执行for循环。

重命名项目是相当自我解释。 🙂

您看到的$ _是“这”的特殊符号。 “这个”是当时正在处理的任何对象。

所以用简单的英语:

“获取当前文件夹中包含”JPG“的文件。 对于其中的每一个,请用原始基本名称对其进行重命名,并在末尾添加“.jpg”。

更新:在stackoverflow上遇到了这个问题。 看起来它会适合这个法案。