findstr "^"您需要转义部分的引号forfiles。有办法\",但我不推荐这样做,因为"命令解释器仍然可以识别cmd(用户Ben Personick在他的回答中展示了如何做到这一点)。无论如何,我会0x22改为使用隐藏引号cmd,如下所示:
forfiles /S /P "C:\FileStore" /D -3 /C "cmd /C if @ISDIR == TRUE (dir /B /A @PATH | findstr 0x22^0x22 > nul || echo @PATH)"
而不是findstr "^"你也可以使用find /V "":
forfiles /S /P "C:\FileStore" /D -3 /C "cmd /C if @ISDIR == TRUE (dir /B /A @PATH | find /V 0x220x22 > nul || echo @PATH)"
但最简单的方法是使用set /P:
forfiles /S /P "C:\FileStore" /D -3 /C "cmd /C if @ISDIR == TRUE (dir /B /A @PATH | set /P _= || echo @PATH)"
注意:
forfiles仅考虑上次修改的日期(不是时间),而不考虑创建日期/时间。