我想做一个简单的批处理脚本,比较4个不同目录中的4个文件,并将“上次修改”文件放入一个变量中。我就用“目录”是排序和使用的修改日期排序它最接近的:如何获取多个目录中文件的最后修改日期?
for /f "tokens=*" %%G in ('dir *.txt /b /s /a-d /od C:\testing ') do SET newest1=%%G
然而,这只能在一个目录中工作。所以我的问题是,如何确定最后修改的文件来自多个目录(实际上需要四个不同的文件夹)。
我已经试过:
FOR /F %%i IN ('DIR /b /s /O:D /T:W C:\testing\test1\test.txt C:\testing\test2\test2.txt') DO SET NEWEST=%%i
但是,这并不与多个目录工作。我猜测,因为我正在处理多个目录,排序不起作用,所以我还能使用什么?
一些注意事项:
需要将文件比较精确到秒
某些文件可以得到相当大的,所以将它们复制所有到另一个文件夹,然后比较它们将需要太长时间,它效率不高
这些文件是否有共同的文件规格?有关文件的详细信息可以帮助您获得最简单的解决方案。如果这些文件位于同一个驱动器上,那么移动操作是非常迅速的操作,它们可以被移回 - 但我们对这些文件知之甚少。 Robocopy也可以用来获取最新的文件 - 取决于文件的位置。 – foxidrive 2014-09-13 07:36:02
你说“4个文件” - 所以你知道文件名 - 或者是文件名变量? – Magoo 2014-09-13 08:19:08