Вам, к сожалению, придется самостоятельно разбирать содержимое %DATE%
. В cmd.
нет средств манипуляции с датой и временем, безопасных для локализации.
Для моей локали (которая использует стандартный формат даты ISO 8601) я могу просто использовать следующее:
@echo off
rem %DATE% comes back in ISO 8601 format here, that is, YYYY-MM-DD
set Y=%DATE:~0,4%
set /a M=%DATE:~5,2% - 3
if %M% LSS 1 (
set /a Y-=1
set /a M+=12
)
ren myFolder "%Y%-%M%"
Однако, в зависимости от используемого формата даты, он может выглядеть немного иначе.