找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26073|回复: 4

[文件操作] [已解决]批处理如何切换到最新时间的目录里?

[复制链接]
发表于 2011-7-12 16:14:16 | 显示全部楼层 |阅读模式
本帖最后由 wpNature 于 2011-7-13 08:54 编辑

在D:\DOS目录的下面,有如下的目录。
├─20110712083585
├─20110712120133
└─20110712160345
目录名的规则是8位日期和6位时间,使用CD d:\DOS\20110712*的命令,进入的是目录1(20110712083585)。如果我想进入最新时间的目录3(20110712160345),该怎么写命令?
发表于 2011-7-12 16:31:10 | 显示全部楼层
  1. for /d %%a in (d:\dos\*) do set last=%%a
  2. cd /d d:\dos\%last%
复制代码

评分

参与人数 1PB +2 技术 +1 收起 理由
batman + 2 + 1 乐于助人

查看全部评分

发表于 2011-7-12 17:40:04 | 显示全部楼层
本帖最后由 mxxcgzxxx 于 2011-7-12 17:42 编辑

换个思路试试
  1. cd /d d:\dos
  2. for /f "delims=" %%1 in ('dir /on /ad /b') do set "a=%%1"
  3. cd %a%
复制代码

评分

参与人数 1PB +2 技术 +1 收起 理由
batman + 2 + 1 乐于助人

查看全部评分

发表于 2011-7-13 00:08:11 | 显示全部楼层
或者说dir /o-d ,不过还是直接当成数字找最大值最简单
 楼主| 发表于 2011-7-13 08:57:40 | 显示全部楼层
本帖最后由 wpNature 于 2011-7-13 09:37 编辑

谢谢版主和热心朋友的帮助,使得此问题能够得到解决。
看了批处理代码,又一次让我感到for语句的强大。
  1. for /d %%a in (d:\dos\*) do set last=%%a
  2. cd /d d:\dos\%last%
复制代码
这段代码,恰好使用到了for /d匹配第一层目录的特点。
  1. cd /d d:\dos
  2. for /f "delims=" %%1 in ('dir /on /ad /b') do set "a=%%1"
  3. cd %a%
复制代码
这段代码,for /f  "delims="  结合  dir /on /ad /b,通用性更强了,内心喜悦啊。
  1. dir /O-D
复制代码
这个也很好,利用时间属性排序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 17:06 , Processed in 0.019272 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表