首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查T日期文件夹

检查T日期文件夹
EN

Stack Overflow用户
提问于 2014-01-31 15:07:49
回答 2查看 20关注 0票数 0

我想检查一下,如果在目录c:\Users\abc\Desktop.If中存在带有formate 310114的T日期文件夹,那么T日期文件夹是否存在,那么输出应该是Yes,否则是No。为此,我使用下面的查询

代码语言:javascript
复制
     @echo off
    setlocal EnableDelayedExpansion
    for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set year=%%c
    for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set month=%%a
    for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set day=%%b
    Set year1=%year:~2,4%
    set TODAY=%day%%month%%year1%
    for /F "tokens=1" %%a IN ('Dir "C:\Users\abc\Desktop\*%TODAY%*"  /-C/S/A:-D 2^>nul') Do Set y=!n2! & Set n2=%%a 
    echo %y%
    if %y% gtr 0 ( echo yes) else (echo no)

但它不工作,即使T日期的文件夹不在那里,输出也是4。另外,回声%y%给出值为音量。如果文件不在那里,为什么它提供Volumn作为输出,它不能提供0作为输出吗?

EN

回答 2

Stack Overflow用户

发布于 2014-01-31 15:24:20

为什么不使用if exist语句而不是for循环呢?

代码语言:javascript
复制
if exist "C:\Users\abc\Desktop\*%TODAY%*" ( echo yes ) else echo no
票数 0
EN

Stack Overflow用户

发布于 2014-01-31 15:41:29

使用date /t得到的结果是不可靠的,并且会因区域和设置而异。

这段代码的前四行将在XP Pro和更高版本中为您提供可靠的YY DD MM YYYY HH Min Sec变量。

这也使用了unclemeat建议的测试。

代码语言:javascript
复制
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

set "today=%DD%%MM%%YYYY%"

if exist "C:\Users\abc\Desktop\*%TODAY%*" (echo yes) else (echo no)

pause
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21474327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档