所以我想做一个只在圣诞节工作的程序。 如果你试图在圣诞节那天打开文件,它会说:例如圣诞快乐! 如果你想在其他任何一天打开它,它只会说:请稍后再来。
答案 0 :(得分:0)
如果它需要是批处理,试试这个,我无法测试它。没有Windows。在java等中做它会更容易,也更加漂亮。
重要提示:您可能需要调整日期和月份的顺序,具体取决于系统的区域设置!也许甚至是delims。有一种方法可以从注册表中读取它。 在这里阅读:http://www.robvanderwoude.com/datetimentparse.php
@ECHO OFF
FOR /F "tokens=*" %%A IN ('DATE/T') DO FOR %%B IN (%%A) DO SET Today=%%B
FOR /F "tokens=1-3 delims=/-" %%A IN ("%Today%") DO (
SET Day=%%A
SET Month=%%B
SET Year=%%C
)
if "%Day%;%Month%"=="24;12" GOTO :XMAS
echo Please come back later.
goto :eof
:XMAS
Merry christmas
答案 1 :(得分:0)
你可以这样做:
@echo off
set errorlevel=1
:: This is the base script for your example (only line that needs editing)
set /a day=25, month=12
if "%date:~4,2%:%date:~7,2%" EQU "%day%:%month%" GOTO :start
Echo Please Come Back Later
Exit/b 2
:: If Errorlevel=1 the program crashed, =2 its the wrong date, =0 The program ran fine
:start
:: Rest of Code
Echo MERRY CHRISTMAS
:EOF
Exit /b 0
这应该做你想要的+更多
莫纳。
答案 2 :(得分:0)
与目前为止的所有答案一样,这取决于您的%date%变量的格式 - 您可以修改搜索字词。
@echo off
echo %date%|find " 25/12/" >nul
if not errorlevel 1 (
echo Merry Christmas
) else (
echo Santa is asleep, try again tomorrow!
)