:check_alphabetical_date
call :check_alp
:loop_alp
set char=%char:*,=%
:check_alp
for /f "tokens=1 delims=," %%i in ("%char%") do (
echo "M T W Th F S Su"|findstr /i "%%i">nul || goto date_error
echo "%char%"|find ",">nul && goto loop_alp
)
goto input_time
:check_numerical_date
call :check_num
:loop_num
set /a num+=1
set char=%char:*,=%
:check_num
for /f "tokens=1 delims=," %%i in ("%char%") do set input=%%i
if %input% GTR 31 goto date_error
if %num% GTR 30 goto date_error
echo %char%|find ",">nul || if %num% LEQ 30 goto input_time || goto date_error
goto loop_num
:input_time
cls
color 1f
title 文件备份器-请输入时间
echo.
echo ╭────────╮
echo ╭─────────┤ 请输入备份时间 ├─────────╮
echo │ ╰────────╯ │
echo │ 操作说明: │
echo │ │
echo │ 请按格式输入备份时间,多个时间用空格 │
echo │ │
echo │ 分隔。该时间用24小时制(既从00:00到23:59) │
echo │ │
echo │ 的小时:分钟格式表示。 │
echo │ │
echo │ 例如:想分别在上午8点30分和下午4点进 │
echo │ │
echo │ 行备份,请在同一行输入8:30 16:00(注意:两 │
echo │ │
echo │ 个时间点之间有一个空格) │
echo │ │
echo ╰────────────────────────────╯
echo.
echo 返回上一步请按 1 退出请按 0
echo ──────────────────────────────
echo.
set copytime=
set /p copytime= 请输入备份时间:
if "%copytime%"=="" goto input_time
if "%copytime%"=="0" exit
if "%copytime%"=="1" goto input_date
:: 检查时间输入是否正确
for /f "tokens=*" %%i in ("%copytime%") do set char=%%i
call :check_time
set num=0
:back
set /a num+=1
set char=%char:* =%
:check_time
for /f "tokens=1,2 delims=:" %%i in ("%char%") do (
if %%i GTR 24 goto time_error
if %%j GTR 60 goto time_error
echo %char%|find " ">nul || goto input_name
)









