标题: [文件操作] [已解决]批处理如何切换到最新时间的目录里? [打印本页]
作者: wpNature 时间: 2011-7-12 16:14 标题: [已解决]批处理如何切换到最新时间的目录里?
本帖最后由 wpNature 于 2011-7-13 08:54 编辑
在D:\DOS目录的下面,有如下的目录。
├─20110712083585
├─20110712120133
└─20110712160345
目录名的规则是8位日期和6位时间,使用CD d:\DOS\20110712*的命令,进入的是目录1(20110712083585)。如果我想进入最新时间的目录3(20110712160345),该怎么写命令?
作者: CrLf 时间: 2011-7-12 16:31
- for /d %%a in (d:\dos\*) do set last=%%a
- cd /d d:\dos\%last%
复制代码
作者: mxxcgzxxx 时间: 2011-7-12 17:40
本帖最后由 mxxcgzxxx 于 2011-7-12 17:42 编辑
换个思路试试- cd /d d:\dos
- for /f "delims=" %%1 in ('dir /on /ad /b') do set "a=%%1"
- cd %a%
复制代码
作者: bluewing009 时间: 2011-7-13 00:08
或者说dir /o-d ,不过还是直接当成数字找最大值最简单
作者: wpNature 时间: 2011-7-13 08:57
本帖最后由 wpNature 于 2011-7-13 09:37 编辑
谢谢版主和热心朋友的帮助,使得此问题能够得到解决。
看了批处理代码,又一次让我感到for语句的强大。- for /d %%a in (d:\dos\*) do set last=%%a
- cd /d d:\dos\%last%
复制代码
这段代码,恰好使用到了for /d匹配第一层目录的特点。- cd /d d:\dos
- for /f "delims=" %%1 in ('dir /on /ad /b') do set "a=%%1"
- cd %a%
复制代码
这段代码,for /f "delims=" 结合 dir /on /ad /b,通用性更强了,内心喜悦啊。复制代码
这个也很好,利用时间属性排序。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |