查找包含特定文件的最新文件夹

拉胡尔克

我需要搜索包含多个文件夹的目录并检查最新文件(.exe)并将其复制到另一个位置。

SET "src_root"
SET "tgt_path"
DIR "%src_root%" /B /AD /O-D /TC > "%TEMP%\dirlist.tmp"
< "%TEMP%\dirlist.tmp" SET /P last_dir=
XCOPY "%src_root%\%last_dir%\*.exe" "%tgt_path%"** 

此代码帮助我复制最新文件夹中的 EXE 文件,但如果最新文件夹中没有 EXE,我需要从包含最新 EXE 的文件夹中复制它,有人可以帮我吗?

麻古
@ECHO OFF
SETLOCAL
SET "sourcedir=c:\sourcedir"
SET "filename="

FOR /f "delims=" %%a IN (
 'dir /s /b /a-d "%sourcedir%\neo.7z" '
 ) DO SET "filename=%%a"&set "dirname=%%~dpa"&goto found1

ECHO NOT found!
GOTO :eof

:found1
FOR /f "delims=" %%a IN (
 'dir /s /b /a-d "%sourcedir%\neo.7z" '
 ) DO IF /i "%dirname%" neq "%%~dpa" FOR /f %%s IN ('XCOPY /y /L /D "%filename%" "%%~dpa"') DO IF "%%s"=="0" SET "filename=%%a"&set "dirname=%%~dpa"&goto found1

ECHO latest file is "%filename%"

GOTO :EOF

您需要更改 的设置sourcedir以适合您的情况。

我使用了neo.7z为我的测试命名文件- 我相信在你描述的情况下你应该有一个固定的文件名 - 目录无疑没有塞满 *.exe 文件。

这是非常行人,但会做这项工作。

本质上,在所需的目录树中找到具有所需名称的任何文件,并将名称记录在filename, 目录中dirname

使用该文件名作为基础,尝试xcopy在所有其他匹配的文件名上使用它。使用该/L标志仅列出,并使用该/y标志去除用户干预。如果返回的是1 file(s) copied,f 其中只有第一个标记被选入%%s,则选择的文件在后。0 file(s) copied设置%%s0和意味着选择的文件较早,因此选择较新的文件和目录名并重新启动。

我将把它留给用户练习以加快速度。(有兴趣的建议:延迟扩展、子程序和保留新起点)


改版【快5倍左右】

@ECHO OFF
SETLOCAL
SET "sourcedir=c:\sourcedir"
SET "filename="

FOR /f "delims=" %%a IN (
 'dir /s /b /a-d "%sourcedir%\neo.7z" '
 ) DO SET "candidate=%%a"&CALL :latest

ECHO latest file is "%filename%"
GOTO :eof

:latest
IF NOT DEFINED filename GOTO selectnew

FOR /f %%s IN ('XCOPY /y /L /D "%filename%" "%candidate%"') DO IF "%%s"=="1" goto :eof

:selectnew
SET "filename=%candidate%"

GOTO :EOF

此版本避免了重复的目录扫描。对于每个匹配的文件名,使用该xcopy /L方法将新找到的文件与先前找到的文件进行比较,如果新的候选文件较晚,则选择新的候选文件继续直到所有匹配的名称都经过测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在文件夹中查找最新文件

来自分类Dev

Powershell-重命名文件夹中的特定文件-根据之前的最新文件

来自分类Dev

在文件夹中查找最新文件并打开它(vba访问)

来自分类Dev

如何在文件夹中查找第二个最新文件

来自分类Dev

如何获取文件夹中的最新文件?

来自分类Dev

从FTP文件夹获取最新的更新文件

来自分类Dev

打开Linux文件夹中的最新文件

来自分类Dev

从FTP文件夹获取最新的更新文件

来自分类Dev

列出每个子文件夹的最新文件

来自分类Dev

在文件夹中打开最新文件(jpg)

来自分类Dev

如何获取文件夹中的最新文件?

来自分类Dev

查找最新文件

来自分类Dev

如何在文件夹中查找遵循模式但又排除某些文件的最新文件

来自分类Dev

如何制作一个指向“特定文件夹中的最新文件”的 .desktop 文件?

来自分类Dev

别名将转到文件夹中的最新文件夹

来自分类Dev

别名将转到文件夹中的最新文件夹

来自分类Dev

Windows批处理文件可将最新文件复制到新文件夹

来自分类Dev

如何选择最新文件以批处理文件存储在文件夹中

来自分类Dev

如何选择最新文件以批处理文件存储在文件夹中

来自分类Dev

查找以开头的最新文件

来自分类Dev

Python ssh查找最新文件

来自分类Dev

Android新文件夹问题

来自分类Dev

Android新文件夹问题

来自分类Dev

新文件夹的默认权限

来自分类Dev

在目录中搜索最新文件夹将显示“。”。和“ ..”而不是最新的文件夹

来自分类Dev

批处理文件,删除目录中除最新文件夹外的所有文件夹

来自分类Dev

在Google云端硬盘文件夹中获取最新文件

来自分类Dev

如何使用Powershell脚本执行文件夹中的最新文件(刚刚下载)

来自分类Dev

在Power BI文件夹源中获取最新的更新文件

Related 相关文章

  1. 1

    在文件夹中查找最新文件

  2. 2

    Powershell-重命名文件夹中的特定文件-根据之前的最新文件

  3. 3

    在文件夹中查找最新文件并打开它(vba访问)

  4. 4

    如何在文件夹中查找第二个最新文件

  5. 5

    如何获取文件夹中的最新文件?

  6. 6

    从FTP文件夹获取最新的更新文件

  7. 7

    打开Linux文件夹中的最新文件

  8. 8

    从FTP文件夹获取最新的更新文件

  9. 9

    列出每个子文件夹的最新文件

  10. 10

    在文件夹中打开最新文件(jpg)

  11. 11

    如何获取文件夹中的最新文件?

  12. 12

    查找最新文件

  13. 13

    如何在文件夹中查找遵循模式但又排除某些文件的最新文件

  14. 14

    如何制作一个指向“特定文件夹中的最新文件”的 .desktop 文件?

  15. 15

    别名将转到文件夹中的最新文件夹

  16. 16

    别名将转到文件夹中的最新文件夹

  17. 17

    Windows批处理文件可将最新文件复制到新文件夹

  18. 18

    如何选择最新文件以批处理文件存储在文件夹中

  19. 19

    如何选择最新文件以批处理文件存储在文件夹中

  20. 20

    查找以开头的最新文件

  21. 21

    Python ssh查找最新文件

  22. 22

    Android新文件夹问题

  23. 23

    Android新文件夹问题

  24. 24

    新文件夹的默认权限

  25. 25

    在目录中搜索最新文件夹将显示“。”。和“ ..”而不是最新的文件夹

  26. 26

    批处理文件,删除目录中除最新文件夹外的所有文件夹

  27. 27

    在Google云端硬盘文件夹中获取最新文件

  28. 28

    如何使用Powershell脚本执行文件夹中的最新文件(刚刚下载)

  29. 29

    在Power BI文件夹源中获取最新的更新文件

热门标签

归档