首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于文件日期的ForFiles的If语句

基于文件日期的ForFiles的If语句
EN

Stack Overflow用户
提问于 2019-03-25 23:38:46
回答 2查看 967关注 0票数 0

我有一个通过SQL server代理调用的批处理文件。

目前我有:

代码语言:javascript
复制
ForFiles /p "C:\folder\subfolder" /d -7 /c "cmd /c del @file"

如果存在一个超过7天的文件,则该命令可以正常工作。

如果没有满足条件的文件,则脚本将失败,从而导致SQL报告失败。

理想情况下,我需要添加和if语句,如果存在一个超过7天的文件,则执行delete命令,否则忽略它。

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-26 00:23:38

试试这个:

代码语言:javascript
复制
cd /d C:\folder\subfolder
SET _CmdResult=NONE
FOR /F "tokens=*" %%a IN ('forfiles -p "C:\folder\subfolder" -s -m *.* -d -7 -c "cmd /c del @file" 2^>^&1 ^| FINDSTR ERROR') DO SET _CmdResult=%%a
IF "%_CmdResult%" == "ERROR: No files found with the specified search criteria." ( 
    SET errorlevel=0 
 ) ELSE ( 
    SET errorlevel=1
 )
IF "%_CmdResult%" == "NONE" SET errorlevel=0

它检查错误,并将错误放入一个变量中,如果发现,则将errorlevel设置为零。

票数 0
EN

Stack Overflow用户

发布于 2019-03-26 00:18:01

将其封装在FOR /F命令中,将标准错误重定向到NUL。

代码语言:javascript
复制
FOR /F "delims=" %%G IN ('forfiles /P "C:\folder\subfolder" /d -7  2^>nul') do DEL "%%~G"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55341423

复制
相关文章

相似问题

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