如何使用 Windows 批处理文件查找特定目录?

How can I find specific directories using Windows batch file?

我有一个批处理文件可以找到路径中最后修改的目录

for /f "delims= %%x in (' dir / ad /od /b "C:\Path") do set newest=%%x

我需要修改此脚本以仅查找某些文件夹并找到最后修改的文件夹。例如,如果路径包含 4 个目录(红色、蓝色、绿色、黄色),我想让命令只查找 2 个目录(蓝色、绿色),并找到最新修改的目录。

for /f "delims=" %%x in (
  'dir / ad /od /b "C:\Path" ^| Findstr /i "Blue Green" '
    ) do set newest=%%x

将以 or 方式过滤行中任何位置包含蓝色或绿色的所有行。

有了这样的目录名,你甚至可以不用 findstr:

@ECHO OFF
FOR /F "DELIMS=" %%A IN ('DIR/B/AD-L/OD "C:\PATH\B?UE" "C:\PATH\GR?EN"') DO (
    SET "NEWEST=%%A"
SET NEWEST
PAUSE