私はバッチスクリプトのこの部分を次のように実行しています
。
ファイルとそれに合わせて字幕ファイルの名前を変更 + 字幕ファイルを「字幕」サブフォルダーに移動してから、メインフォルダーの名前を変更します。最後に、字幕ファイルとメイン フォルダーでも使用される 1 つの映画名があります。
@echo off
setlocal EnableDelayedExpansion
cd /D "%~DP0"
echo BASE FOLDER: %cd%
set n=0
for /D %%a in (*) do (
set /A n+=1
cd "%%a"
echo ==================================================================
echo Processing folder: %%a
for %%b in (*.avi *.mp4 *.mkv) do set movieName=%%~Nb
echo Movie name: !movieName!
for %%b in (*.srt *.sub) do (
move "%%b" "Subtitles\!movieName!%%~Xb"
echo File "%%b" moved and renamed to "Subtitles\!movieName!%%~Xb"
)
cd ..
ren "%%a" "!movieName!"
echo Folder "%%a" renamed to "!movieName!"
)
echo ==================================================================
echo %n% FOLDERS PROCESSED
pause
!!!!! 私が必要とするのは次のとおりです:!!!!!
-その逆にする必要があるため、名前はムービー ファイルではなくメイン フォルダーから取得されるため、メイン フォルダーの名前がムービーと字幕ファイルで使用されます。
ありがとうございました!