由于 After Effects 中的错误,我得到单帧输出,最后有 4 个数字,命名如下:
Test.jpg0001
Another.jpg0345
AndAnother.jpg0033
如果文件不以 .jpg 结尾,我可以编写一个批处理脚本在 Windows 文件夹中运行以删除最后 4 个字符吗?因此,当我添加新文件时,我可以继续运行脚本,但不会影响已更正的文件。
由于 After Effects 中的错误,我得到单帧输出,最后有 4 个数字,命名如下:
Test.jpg0001
Another.jpg0345
AndAnother.jpg0033
如果文件不以 .jpg 结尾,我可以编写一个批处理脚本在 Windows 文件夹中运行以删除最后 4 个字符吗?因此,当我添加新文件时,我可以继续运行脚本,但不会影响已更正的文件。
这是一个 VB 脚本,它将搜索以 JPG 开头的所有扩展名,如果超过 3 个字符,则将文件重命名为仅以 jpg 结尾。像我用几个文件一样创建一个测试目录并尝试一下。它在代码中有一个硬编码目录,您必须在运行它之前对其进行更改(除非您的目录名为 c:\testdat)。注意以斜杠结束文件夹名称(惰性编程):
set fs = createobject("Scripting.Filesystemobject")
dirWithFiles = "C:\TestDat\" ' End with a slash
set folder = fs.getfolder(dirWithFiles)
set filescollection = folder.files
for each file in filescollection
oldname = dirWithFiles & file.name
basename = fs.getbasename(file.name)
extension = fs.getExtensionName(file.name)
if ucase(mid(extension,1,3)) = "JPG" then
if len(extension) > 3 then
newname = dirWithFiles & basename & ".jpg"
'msgbox "Rename " & oldname & " to " & newname
fs.movefile oldname,newname
end if
end if
next
将其复制到以 .vbs 结尾的文件中(我叫我的 jpgrename.vbs),修改 c:\testdat\ 目录名称,然后将其放在桌面上。双击它(在 Windows 下)它应该运行。这是之前和之后的图像:
我的天哪,不需要任何类型的脚本。您只需要一个简单的重命名命令。
这会将扩展名设置.jpg
为包含.jpg
.
ren *.jpg* *.jpg
以上内容并不完美,因为它会不正确地重命名类似test.jpg.txt
to 的内容test.jpg.jpg
。它还会将文件test2.jpgXYZ
(例如后面的数字.jpg
除外)重命名为test2.jpg
. 我怀疑这些限制不会成为问题。
如果您想更有选择性并且只重命名扩展名开头的.jpg
文件(忽略.jpg
名称中后跟其他扩展名的文件),那么您可以使用 FINDSTR 正则表达式来过滤文件:
for /f "eol=: delims=" %F in ('dir /b *.jpg*^|findstr /re "\.jpg[^.][^.]*"') do ren "%F" *.jpg
如果您想更有选择性并且只重命名.jpg
以 1 个或多个数字结尾的文件,那么:
for /f "eol=: delims=" %F in ('dir /b *.jpg*^|findstr /re "\.jpg[0-9][0-9]*"') do ren "%F" *.jpg
如果在批处理文件中使用 FOR /F 语句,则需要将百分比加倍(%%F
而不是%F
)。