我有大量字幕 (.srt) 文件,它们位于一个目录中,例如 C:\foo。我有一组视频文件,组织到多个文件夹中(即名为 A、B、C、D、E 等的文件夹,其中每个我有一对多的视频文件)。我想将每一个 .srt 文件移动到包含与其匹配(基于文件名)的视频文件的文件夹中?
有什么方法可以基于 .srt 的文件名执行子字符串搜索,它将搜索根目录文件夹(包含文件夹是唯一命名A、B、C、D、E 等)并搜索其中的所有子目录层?即所有嵌套的子目录,以查找“匹配”的视频文件名?
从此,如果有一个匹配,移动将 .srt 文件复制到找到具有“匹配”的视频文件的文件夹。
我想这类似于媒体播放器如何执行模糊搜索,因此即使字幕名称的任何子字符串与视频匹配,它也会加载字幕)?
现在,注意到这一点,我显然不需要模糊搜索实现,因为幸运的是我的文件名是这样的:
.srt 文件名:XXX
_ abczxy
.srt
视频文件名:XXX
.mp4
其中XXX
= 一个字符串(其中该字符串是一模一样 对彼此而言.srt 和视频文件)
和
其中abcxyz
= 一些独特的随机字符串
谢谢
到目前为止我已经写了:
@ECHO OFF
SET "SEARCH_IN_DIR=%USERPROFILE%\Desktop\foo\"
SET "DEST_DIR=%USERPROFILE%\Desktop\RootFolder"
REM: Enter recursive search, display lists of files to be copied, copy from the source to the dest:
FOR /R "%SEARCH_IN_DIR%" %%f IN (%%a) (
IF EXIST %%f (
DO (
xcopy /I "%%~f" "%DEST_DIR%" 2> NUL
)
ELSE (
echo
)
)