【问题标题】:Batch Script For File Date/Time文件日期/时间的批处理脚本
【发布时间】:2015-02-28 11:31:48
【问题描述】:

我知道有类似的问题,但我无法完成任何工作。我需要根据当前日期和时间检查特定文件的日期和时间。 到目前为止我有

 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 没有星期几? 谢谢

【问题讨论】:

  • 请参阅 this answer 以了解从 %date%%%~tX 刮取 MM/DD/YYYY 的方法。你也可以set "cdate=%date:* =%"

标签: date batch-file time dayofweek


【解决方案1】:
 For %%f In (%filename%) Do Set "filedatetime=%%~tf"
 If "%filedatetime:~0,-9%"=="%cdate:~4%" GOTO SHOFILE

注意indo后面的必填空格

set "var=value" 语法确保批处理行上的任何尾随空格不包含在分配给var 的值中。

if /i "%var%"=="value" 对包含分隔符(例如空格)的变量/值执行比较 如果需要,'/i' 使比较不区分大小写。

【讨论】:

    【解决方案2】:

    您的cdate 可以这样设置:

    SET cdate=%date:~4%
    

    这有以下输出:

    echo %cdate%
    01/01/2015
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多