批处理文件DIR只能获取前10个结果?

时间:2011-03-15 19:25:38

标签: sql-server-2008 batch-file

我需要15个文件夹的最后修改日期,每个文件夹包含超过100,000个非嵌套文件。这将在Windows Server 2008批处理文件中完成,其中输出将通过EXEC xp_cmdshell

转到SQL 2008

任何想法如何获取前5个结果而不需要每分钟一分钟?像这样的头部将会终止管道并导致dir停止查看?

dir /t:w /o:-d /4 *.jpg | head

1 个答案:

答案 0 :(得分:2)

这并不能完全消除延迟,但至少可以将它降低到更可忍受的延迟,我认为:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET cnt=0
FOR /F "tokens=*" IN ('dir /t:w /o:-d /4 *.jpg') DO (
SET /A cnt+=1
SET "line!cnt!=%%a"
IF !cnt!==10 GOTO break
)
:break
ECHO %line6%
ECHO %line7%
ECHO %line8%
ECHO %line9%
ECHO %line10%