0

如何编写一个简单的 Windows 7 兼容批处理文件:

如果文件名以“c:\my folder\myfile*.exe”开头,则只运行最近创建的文件。

例如,如果我在“c:\my folder\”中有 10 个文件,并且它们的名称都类似 myfile*.exe,而 myfileBOB.exe 是最后一个要创建的命名文件 - 如何找出这个文件(文件夹还包含其他不同类型的常规文件)自动按文件名 myfile* 和创建日期执行?

非常感谢!

4

1 回答 1

4

按日期升序对文件进行排序,并保留最后一个(最近的)文件。

@echo off
setlocal
pushd "c:\my folder"
set "file="
for /f "eol=: delims=" %%F in ('dir /b /a-d /od myfile*.exe') do set "file=%%F"
if defined file "%file%"
popd

或按日期降序对文件进行排序,并在第一次迭代后跳出循环。

@echo off
pushd "c:\my folder"
for /f "eol=: delims=" %%F in ('dir /b /a-d /o-d myfile*.exe') do "%%F"&goto :break
:break
popd
于 2013-10-23T16:38:53.050 回答