使用同一文件夹中的其他文件名重命名文件名

时间:2015-03-09 14:05:48

标签: batch-file filenames rename copy-paste

我目前有一个只包含两个文件的Windows文件夹: vacation.jpg 和 summer.avi

我想要的是使用.jpg扩展名之前的文本在vacation.avi中重命名summer.avi。

例如,如果我有另一个带有christmas.jpg和summer.avi的文件夹,则.avi文件将被重命名为christmas.avi。

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您可以使用~n参数扩展名来获取不带扩展名的文件名。该脚本需要与jpg和avi位于同一目录中,但是如果要在多个目录上运行它,可以将整个内容包装在第二个for循环中。

@echo off
setlocal enabledelayedexpansion

:: This assumes there is only one avi file in the folder
for /F %%A in ('dir /b *.jpg') do (
    set basename=%%~nA
    ren *.avi !basename!.avi
)

答案 1 :(得分:-1)

这应该可行,但我还没有测试过:

@echo off
for %%i in (*.jpg) do set src=%%i
ren *.avi %src%