【发布时间】:2015-09-29 13:14:15
【问题描述】:
我刚刚进入 Bat 文件。 我正在尝试删除网络共享驱动器上的旧文件夹,但按名称跳过 2 个包含文件夹。 基本上我需要每天制作的所有文件,并始终保留 2 个旧文件。
删除所有超过 3 天的文件的代码:
PushD "\\****-****\build" &&(
ForFiles /D -3 /C "CMD /C if @ISDIR==TRUE echo RD @FILE &RD /S @FILE
) & PopD
我在想这样的事情:如果不是@FNAME == %name%。我不完全理解这个过程,我可以在 forFiles 中有两个条件吗?我之前必须有 /c 吗?
PushD "\\****-****\build" &&(
ForFiles /D -3 /C "CMD /C if NOT @FNAME == %name% if @ISDIR==TRUE echo RD @FILE &RD /S @FILE
) & PopD
我好像听不懂,你介意帮我吗? 谢谢!
【问题讨论】:
-
就像我很怀念批处理文件一样,它们从 DOS 时代就已经存在,而且非常有限。考虑切换到 PowerShell。它是一种功能齐全的语言,可以与操作系统的几乎所有部分进行交互,如果你愿意,你甚至可以编译自定义模块。此外,随着批处理文件的相关性越来越低,掌握更多有用的知识。
标签: batch-file command