想为此编写一个批处理文件。这些文件具有不同的扩展名,但数量应匹配,以便名称被逐个覆盖以匹配其他目录中的内容。例如:我尝试从 C:\Location1 复制数据文件 (*.pds) 的名称,并将其作为名称写入 D:\DCIM 中 SD 卡上的相关 .mov 文件中。
我尝试使用临时文件没有成功,并且我已经能够复制文件本身,但无法弄清楚如何仅复制名称。
您的问题令人困惑并且遗漏了一些重要的要点。
如果您提出问题会说:“文件具有不同的扩展名,但数量和顺序应该匹配”以及此短语:“从 C:\Location1 复制数据文件的名称 (*.pds) ,并将其作为名称写入 SD 卡上的 D:\DCIM 中的相关 .mov 文件中” 将在“相关 *.mov 文件s”中包含一个星号,那么此代码可以解决您的问题:
@echo off
setlocal EnableDelayedExpansion
rem Load source names
cd /D C:\Location1
set "i=0"
for %%f in (*.pds) do (
set /A i+=1
set "name[!i!]=%%~Nf"
)
rem Rename target files
cd /D D:\DCIM
set "i=0"
for /F "delims=" %%f in ('dir /B *.mov') do (
set /A i+=1
for %%i in (!i!) do ren "%%f" "!name[%%i]!.mov"
)