如何使用 Windows 批处理文件查找特定目录?
Posted
技术标签:
【中文标题】如何使用 Windows 批处理文件查找特定目录?【英文标题】:How can I find specific directories using Windows batch file? 【发布时间】:2017-03-03 02:51:28 【问题描述】:我有一个批处理文件,可以在路径中找到最后修改的目录
for /f "delims= %%x in (' dir / ad /od /b "C:\Path") do set newest=%%x
我需要修改此脚本以仅查找某些文件夹并找到最后修改的文件夹。例如,如果路径包含 4 个目录(Red、Blue、Green、Yellow),我想让命令只查找 2 个目录(Blue、Green),并找到最新修改的目录。
【问题讨论】:
【参考方案1】:for /f "delims=" %%x in (
'dir / ad /od /b "C:\Path" ^| Findstr /i "Blue Green" '
) do set newest=%%x
将以or
方式过滤行中任何位置包含蓝色或绿色的所有行。
【讨论】:
你错过了 delims 的收盘价。 我会把它变成一个正则表达式,这样它就可以匹配单词的开头和结尾,否则它可以匹配一个部分。 @soja 感谢提示,已更改。 这在不改变原始脚本的情况下运行良好。非常感谢【参考方案2】:有了这样的目录名,你甚至可以不用 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
【讨论】:
以上是关于如何使用 Windows 批处理文件查找特定目录?的主要内容,如果未能解决你的问题,请参考以下文章