@echo off
if exist temp.txt del /f/a temp.txt
for /f "skip=7 tokens=1-3*" %%a in (dir.txt) do (
if not "%%d"=="" echo %%a %%d
echo %%a %%d>>temp.txt
)
pause
下面这个方法同样可以达到楼住的目的,把bat文件放在要测试的目录下运行即可。
@echo off&setlocal EnableDelayedExpansion
if exist temp.txt del /a/f temp.txt
for /f "delims=" %%a in ('dir /b/a-d') do (
set date_=%%~ta
set date_=!date_:~0,10!
echo !date_! %%~nxa
echo !date_! %%~nxa>>temp.txt
)
pause
谢谢。我最终的目地是想删某特定时间的特定文件名的文件
for不是太理解 对楼上有个问题:
for /f "skip=7 tokens=1-3*" %%a in (dir.txt) do (
if not "%%d"=="" echo %%a %%d
echo %%a %%d>>temp.txt
)
在这个循环里两个a b 的变量在每一次循环里是相对应的吗,在这个例子里就是说a b是不是代表同一个文件的文件名和修改时间?