文件的批处理脚本 Date/Time
Batch Script For File Date/Time
我知道有类似的问题,但我没能做任何工作。我需要根据当前日期和时间检查特定文件的日期和时间。
到目前为止我有
Set cdate=%date%
Set filename="c:\myfile"
If Not Exist %filename% GOTO CREATEFILE
For %%f In(%filename%) DoSet filedatetime=%%~tf
If %filedatetime:~0,-9%" == "%cdate% GOTO SHOFILE
我的问题是返回的 cdate 日期中包含星期几,但文件日期没有。示例 cdate= 2015 年 1 月 1 日星期四。我怎样才能让 cdate 没有星期几?
谢谢
你的cdate
可以这样设置:
SET cdate=%date:~4%
这有以下输出:
echo %cdate%
01/01/2015
For %%f In (%filename%) Do Set "filedatetime=%%~tf"
If "%filedatetime:~0,-9%"=="%cdate:~4%" GOTO SHOFILE
注意需要 space在in
和do
之后
set "var=value"
语法确保批处理行上的任何尾随 space 不包含在分配给 var
的值中。
if /i "%var%"=="value"
对包含分隔符的 variables/values 进行比较(例如 spaces)如果需要,'/i' 使比较不区分大小写。
我知道有类似的问题,但我没能做任何工作。我需要根据当前日期和时间检查特定文件的日期和时间。 到目前为止我有
Set cdate=%date%
Set filename="c:\myfile"
If Not Exist %filename% GOTO CREATEFILE
For %%f In(%filename%) DoSet filedatetime=%%~tf
If %filedatetime:~0,-9%" == "%cdate% GOTO SHOFILE
我的问题是返回的 cdate 日期中包含星期几,但文件日期没有。示例 cdate= 2015 年 1 月 1 日星期四。我怎样才能让 cdate 没有星期几? 谢谢
你的cdate
可以这样设置:
SET cdate=%date:~4%
这有以下输出:
echo %cdate%
01/01/2015
For %%f In (%filename%) Do Set "filedatetime=%%~tf"
If "%filedatetime:~0,-9%"=="%cdate:~4%" GOTO SHOFILE
注意需要 space在in
和do
set "var=value"
语法确保批处理行上的任何尾随 space 不包含在分配给 var
的值中。
if /i "%var%"=="value"
对包含分隔符的 variables/values 进行比较(例如 spaces)如果需要,'/i' 使比较不区分大小写。