标题: [文本处理] 批处理怎样把dir按时间倒叙输出最新十个文件到文本中? [打印本页]
作者: dresu 时间: 2019-1-29 11:51 标题: 批处理怎样把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
只显示最后的文件名即可
下面是从网上找的- @echo off
- setlocal enabledelayedexpansion
- set count = 0
- dir /a-d /o-d /s |sort /r >>TmpSort.txt
- For /f "delims=" %%i in (TmpSort.txt) DO (
- set /a count += 1
- if !count! GTR 2 if !count! LEQ 12 echo %%i >>TmpSort2.txt
- )
- REM echo y |del TmpSort.txt
- pause
复制代码
作者: dresu 时间: 2019-1-29 11:52
现在想要的是两种,
第一种就是直接生成那样的,输出最新十条文件名称
第二钟,是在上面生成的结果下,文本处理成只剩下 文件名称
谢谢各位大神了
作者: lanfogz 时间: 2019-1-29 13:22
本帖最后由 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
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |