如何复制一个目录中的一个文件的名称并用它来覆盖另一个目录中的另一个文件的名称?

问题描述 投票:0回答:1

想为此编写一个批处理文件。这些文件具有不同的扩展名,但数量应匹配,以便名称被逐个覆盖以匹配其他目录中的内容。例如:我尝试从 C:\Location1 复制数据文件 (*.pds) 的名称,并将其作为名称写入 D:\DCIM 中 SD 卡上的相关 .mov 文件中。

我尝试使用临时文件没有成功,并且我已经能够复制文件本身,但无法弄清楚如何仅复制名称。

batch-file
1个回答
0
投票

您的问题令人困惑并且遗漏了一些重要的要点。

如果您提出问题会说:“文件具有不同的扩展名,但数量和顺序应该匹配以及此短语:“从 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" )
    
© www.soinside.com 2019 - 2024. All rights reserved.