想那脚本逻辑应该是
@echo off
SetLocal
:EnterDate
set /p dt="Enter Date in mm-dd-yyyy: "
if "%dt%" == "" goto :EnterDate
:CopyFile
echo %dt%
xcopy C:\Users\hkum29\Desktop\Source\*.* C:\Users\hkum29\Desktop\Destination\*.* /d:%dt%
EndLocal
Pause
你最好添加日期验证Batch Script: Validate Date Input
你也可以使用一个非常丑陋的伎俩进行验证,(因为它AB使用系统日期)
@echo off
SetLocal
:EnterDate
set /p dt="Enter Date in mm-dd-yyyy: "
if "%dt%" == "" goto :EnterDate
set "saved_date=%date%"
echo %dt%|DATE >NUL 2>&1 && (
echo %saved_date%|DATE >NUL 2>&1
) || (
echo %saved_date%|DATE >NUL 2>&1
echo %dt% is not a valid date
goto :EnterDate
)
:CopyFile
echo %dt%
echo xcopy C:\Users\hkum29\Desktop\Source\*.* C:\Users\hkum29\Desktop\Destination\*.* /d:%dt%
EndLocal
Pause
exit/B
'如果“%DT %“==”“goto:EnterDate'并且不需要第二个如果 – elzooilogico