Я немного переписал твой сценарий.Он больше не использует переменные, поэтому нет необходимости в отложенном расширении:
@echo off
for /d %%I in (*) do (
for /f "tokens=1,*" %%A in ("%%I") do (
Echo Foldername: %%I
Echo First part: %%A
Echo Secnd part: %%B
for %%F in ("%%I\*") do (
Echo Filename: %%F
for /f "tokens=1,2,* delims=_" %%X in ("%%~nxF") do (
if "%%Z"=="" (
ECHO ren "%%F" "%%X_%%A"
) else (
ECHO ren "%%F" "%%X_%%A_%%Z"
)
)
)
)
)
Я вставил несколько Echo
строк для устранения неполадок / показа того, что происходит.
Я также отключил ren
команды с ECHO
по соображениям безопасности.Пожалуйста, проанализируйте вывод, если это именно то, что вам нужно, прежде чем активировать их.