中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 14:46
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]怎样找出某个文件夹下最后修改的那个文件,并用start
可打印版本  1,497 / 2
第1楼 unique009 发表于 2005-11-12 09:56
初级用户 发帖 8 积分 28
[求助]怎样找出某个文件夹下最后修改的那个文件,并用start
[求助]怎样找出某个文件夹下最后修改的那个文件,然后用start打开它?
我想用批处理找出一个文件夹下最后修改的那个文件(就是在文件夹中以文件修改时间从小到大排序,排在最后面的那个文件),然后就用start命令以此文件的缺省打开方式来打开它?
另外,如果想以文件创建时间来排序的话,又该怎样写?
该怎样写这个批处理,请帮帮忙
第2楼 voiL 发表于 2005-11-12 13:55
中级用户 发帖 189 积分 384
水平有限,可能不是很完美.但经测试是可用的.

1.把下面的代码另存为bat文件放在你要比较的目录下并执行.

2.批处理只对非文件夹类的文件进行比较.

3.放入本批处理之后不要再新建文件(文件夹除外),否则须把"set /a line-=2"改成"set /a line-=1"

@echo off
for /f "tokens=1,* delims=:" %%a in ('dir /a-d /OD ^|findstr/r /n "\<个文件\>"') do (set line=%%a)
set /a line-=2
for /f "tokens=1,2,3 delims=:" %%i in ('dir /a-d /OD ^|findstr/r /n "."') do (
set /A n+=1
if %%i == %line% set LsatFile=%%k
)
echo. %LsatFile%>%temp%.\$c.txt
for /f "tokens=2* delims= " %%x in (%temp%.\$c.txt) do echo start %%y>%temp%.\$z.bat
echo exit>>%temp%.\$z.bat
start %temp%.\$z.bat
del /Q %temp%.\$c.txt
del /Q %temp%.\$z.bat
第3楼 voiL 发表于 2005-11-12 14:27
中级用户 发帖 189 积分 384
以上代码在WinXP CMD(CMD VER 5.1.2600)下测试通过.
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023