ファイルをスクリプトにドラッグ アンド ドロップして、ファイルを移動および名前変更するバッチ スクリプトを作成しました。これは、ファイルのソースが不明であると仮定しますが、ターゲット ディレクトリは不明です。
私の解決策は、ターゲットディレクトリにCDを作成し、ソースファイル名を逆にし、forコマンドをバックスラッシュを区切りとして使用してファイル名を取得し、再度逆にして、最後に名前を変更することでした。
もっと簡単な解決策があったかどうか疑問に思っています。
@echo off
echo %1
set newSong=%1
cd "C:\Riot Games\League of Legends\RADS\projects\lol_air_client\releases\0.0.0.230\deploy\assets\sounds\ambient"
if not exist LoginScreenIntro.mp3.bak rename LoginScreenIntro.mp3 LoginScreenIntro.mp3.bak
del LoginScreenIntro.mp3
copy %newSong% "%CD%"
Call :ReverseString %newSong%
Set ReverseString.Result="%ReverseString.Result%"
for /f "tokens=1 delims=\" %%a in (%ReverseString.Result%) do set reversesong=%%a
Call :ReverseString "%reversesong%"
set newSong=%ReverseString.Result%
rename "%newSong%" LoginScreenIntro.mp3
pause
:ReverseString
Set ReverseString.TempVar=%~1
Set ReverseString.Result=
:ReverseString.Loop
Set ReverseString.Result=%ReverseString.TempVar:~0,1%%ReverseString.Result%
Set ReverseString.TempVar=%ReverseString.TempVar:~1,999%
if not "%ReverseString.TempVar%"=="" goto ReverseString.Loop
Goto :Eof