我需要一些帮助。我目前正在执行批处理程序,要求以MM-DD-YYYY
格式提供日期(短划线“ - ”包含在用户输入中),然后该日期将添加到文件夹中所有文本文件的文件名中。那部分对我来说很容易。我不知道该怎么做是在程序中进行验证,其中只允许用户输入有效日期(无字母),并且仅限8个字符(因为日期只有8个数字)。 / p>
我不知道批处理程序中是否可以这样做,但我想做的另一件事是当程序提示用户输入日期时,该消息将显示如下:
`Enter Report Date: MM/DD/YYYY`
其中MMDDYYYY已经是可编辑的输入字段。斜杠“/”默认显示但不可编辑;它仅用作月,日和年用户输入的分隔符。这将消除在用户输入中包含短划线“ - ”的需要(在我当前的程序中)。
在用户输入日期并且程序验证格式正确后,输入的日期将被添加到存储在文件夹中的所有文本文件的文件名中(作为后缀)。但是要添加到文件名中的日期格式为MM-DD-YYYY
,这意味着不会包含斜杠“/”(因为它不允许在文件名中),并将用短划线“ - ”替换。感谢任何可以提供帮助的人!
答案 0 :(得分:2)
使用date
功能检查您的日期是否有效:
@ECHO OFF &SETLOCAL
SET "sdate=%date%"
SET "ndate=07/22/2013"
SET "ndate=%ndate:/=-%"
ECHO %ndate%|DATE >NUL 2>&1 && ECHO "%ndate%" is a valid DATE || ECHO "%ndate%" is NOT a valid DATE
SET "ndate=17-22-2013"
SET "ndate=%ndate:/=-%"
ECHO %ndate%|DATE >NUL 2>&1 && ECHO "%ndate%" is a valid DATE || ECHO "%ndate%" is NOT a valid DATE
SET "date=%sdate%"
PAUSE
..输出是:
"07-22-2013" is a valid DATE
"17-22-2013" is NOT a valid DATE