首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要搜索T个日期的文件,但如果不存在T个日期的文件,则获取卷作为输出

需要搜索T个日期的文件,但如果不存在T个日期的文件,则获取卷作为输出
EN

Stack Overflow用户
提问于 2014-02-27 14:37:08
回答 1查看 26关注 0票数 0

我想要捕获永久目录中存在的T日期(当前日期)文件。如果存在带有T日期的文件,则脚本工作正常。但如果没有T日期文件,则输出(文件数)为Volume。在那之后,如果这些文件的数量大于0,我会给出回显4的条件。即使在没有T个日期的文件之后,输出也是4。如果没有T日期的文件,那么我需要3作为输出。我的问题是

代码语言: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 TODAY=%day%%month%%year%
echo %TODAY% 


for /F "tokens=1" %%a IN ('Dir "C:\Users\sbarapatre\Desktop\CBS\OUTBOX\*%TODAY%*"  /-C/S/A:-D 

2^>nul') Do Set y=!n2! & Set n2=%%a
echo out %y%

If %y% gtr 1 ( echo 4 ) else ( echo 3 )

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2014-02-27 15:11:52

您正在解析dir输出中的行,获取错误的行并保存错误的变量。您要搜索的行(最终文件计数)以空格开头,后跟一个不以0开头的数字(如果找到任何文件)。而这个条件并没有出现在发布的代码中。

代码语言:javascript
复制
@echo off
SetLocal enabledelayedexpansion
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do (
    set "year=%%c"
    set "month=%%a"
    set "day=%%b"
)

set "TODAY=%day%%month%%year%"
echo %TODAY% 

set "folder=C:\Users\sbarapatre\Desktop\CBS\OUTBOX"

set "nFiles=0"
for /F %%a IN (
    'dir /-c /s /a-d "%folder%\*%TODAY%*" 2>nul ^| findstr /r /b /c:"  [ ]*[1-9]"'
) do "nFiles=%%a"

If %nFiles% gtr 0 ( echo 4 ) else ( echo 3 )

但是不需要解析dir命令的输出。只需计算返回的行数

代码语言:javascript
复制
for /F %%a IN (
    'dir /b /s /a-d "%folder%\*%TODAY%*" 2>nul ^| find /v /c ""'
) do "nFiles=%%a"

If %nFiles% gtr 0 ( echo 4 ) else ( echo 3 )

甚至for也不是必需的。如果只需要知道数字是否大于0,即如果有文件,那么只需检查是否生成了任何行

代码语言:javascript
复制
dir /b /s /a-d "%folder%\*%TODAY%*" 2>nul | find /v "" > nul
if errorlevel 1 ( echo 3 ) else ( echo 4 )

或者如果dir命令找到任何文件,则直接执行

代码语言:javascript
复制
dir /b /s /a-d "%folder%\*%TODAY%*" >nul 2>nul && echo 4 || echo 3

所有这些都应该生成相同的输出

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

https://stackoverflow.com/questions/22060845

复制
相关文章

相似问题

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