@echo off
Echo 1 - Основное меню
Echo 2 - Другое
SET /P var="Меню: "
if %var% equ 1 goto menu_search
if %var% equ 2 goto menu_rename
:menu_search
Echo Выберите задачу:
Echo 1 - Найти все *xlsx
Echo 2 - Переименовать все добавив дату
set /p var="Задача: "
@if %var% equ 1 goto first
@if %var% equ 2 goto second
cls
echo "%var%" is not a valid option.
echo.
goto :menu_search
:first
dir /b/s *.xlsx
@echo Готово
goto menu_search
:second
rem получаем дату в формате не зависящем от версии ОС
echo.>"%TEMP%\~.ddf"
makecab /D RptFileName="%TEMP%\~.rpt" /D InfFileName="%TEMP%\~.inf" -f "%TEMP%\~.ddf">nul
for /f "tokens=4,5,6,7,8,9 delims=: " %%a in ('type "%TEMP%\~.rpt"') do if not defined current-date set "current-date=%%b_%%a_%%f"
del /q "%TEMP%\~.*"
rem переименовываем всё, в том числе содержимое подпапок, кроме самого файла сценария
for /f %%i in ('dir /s/b/a-d') do (
if not "%%~nxi"=="%~nx0" ren "%%i" "%current-date%_%%~nxi"
)
pause
exit