【问题标题】:batch file for finding a particular file in a sorted directory用于在排序目录中查找特定文件的批处理文件
【发布时间】:2018-04-22 11:58:56
【问题描述】:

我需要对目录中的所有子文件夹进行排序并打印包含文件的第一个文件夹,我尝试使用

    FOR /F "delims=" %%i IN ('dir "directorypath" /b /ad-h /t:c /o-d') DO SET a=%%i
IF EXIST a\*.exe
echo folder %a%

在第 1 行中,我尝试根据修改日期对目录中的文件夹进行排序 然后在每个文件夹中搜索 .exe 并打印包含 exe 的最新文件夹。 提前感谢您的帮助。

【问题讨论】:

  • 您想要包含任何.exe 文件的最近修改或创建的目录名称,还是想要包含最近修改或创建的.exe 文件的目录名称。在您的回复中,请确保您对文件和目录都是特定的,无论您想要modified 还是created,它们之间可能存在显着差异,并且可能用于确定它们的方法。

标签: batch-file scripting batch-processing


【解决方案1】:

纯粹基于您的问题而没有回应我的评论,我假设您希望做这样的事情:

@Echo Off
Set "dP=directorypath"
Set "dN="
For /F "Delims=" %%A In ('Dir/B/AD-S-L-H/OD/TC "%dP%" 2^>Nul'
) Do If Exist "%dP%\%%A\*.exe" Set "dN=%%A"
If defined dN Echo %dN%
Pause

只需修改第二行的directorypath 以适应您的完整或相对源目录。

【讨论】:

  • 这很好用,但由于我的目录很大,需要一些时间才能找到,我尝试添加类似“dp=directorypath/te*”的内容,以便对名称以 te 开头的文件夹进行排序其余的名称可以为每个文件夹更改,但它不起作用。有什么建议吗?
  • 您的问题是针对“最新”的,排序就是为此而设计的。如果您更改排序方法,则问题和答案都会过时。
  • 好的,您还有什么其他建议可以更快地获得结果
猜你喜欢
  • 1970-01-01
  • 2017-03-03
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
相关资源
最近更新 更多