[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样把dir按时间倒叙输出最新十个文件到文本中?

2019/01/29  10:32                 0 2019129103247.txt
2019/01/29  09:43            53,509 2019129094349.jpg
2019/01/29  09:37           227,897 2019129094949.jpg
2019/01/29  09:32           159,064 2019129101214.jpg
2019/01/29  09:30           106,066 2019129101534.jpg
2019/01/28  11:56            47,267 2019128115701.jpg
2019/01/25  16:53             4,263 2019125165344.jpg
2019/01/25  15:19                 0 1616.txt
2019/01/25  13:24                 0 1515.txt
2019/01/25  13:08                 0 1212.txt


只显示最后的文件名即可


下面是从网上找的
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set count = 0
  4. dir /a-d /o-d /s |sort /r >>TmpSort.txt
  5. For /f "delims=" %%i in (TmpSort.txt) DO (
  6.     set /a count += 1
  7.     if !count! GTR 2 if !count! LEQ 12 echo %%i >>TmpSort2.txt
  8. )
  9. REM echo y |del TmpSort.txt
  10. pause
复制代码

现在想要的是两种,
第一种就是直接生成那样的,输出最新十条文件名称
第二钟,是在上面生成的结果下,文本处理成只剩下 文件名称

谢谢各位大神了

TOP

本帖最后由 lanfogz 于 2019-1-29 13:33 编辑

【第1种】

@echo off &setlocal enabledelayedexpansion

set n=0
del /f result.txt >nul 2>&1

for /f "delims=" %%i in ('dir /a-d /o-d /b') do (
  echo %%i >> result.txt
  set/a n+=1
  if !n! gtr 10 goto :break
)
:break

【第2种】

@echo off &setlocal enabledelayedexpansion
set n=0
del /f result.txt >nul 2>&1

for /f "tokens=4*" %%i in (TmpSort.txt) do (
  echo %%i >> result.txt
  set/a n+=1
  if !n! gtr 10 goto :break
)
:break

TOP

返回列表