中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 02:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【求助】 dir /s 查找文件。如何获得路径,并调用? 查看 1,399 回复 5
楼 主 【求助】 dir /s 查找文件。如何获得路径,并调用? 发表于 2009-01-21 22:51 ·  中国 福建 漳州 电信
初级用户
积分 26
发帖 30
注册 2008-12-20 02:46
17年会员
UID 134410
性别 男
状态 离线
比如我查找c盘下的cmd.exe。用 dir /s cmd.exe得出如下结果。
---------------------------------------------
C:\>dir /s cmd.exe
卷的序列号是 C0F8-0E70
C:\WINDOWS 的目录

2009-01-21 20:00 471,040 cmd.exe
1 个文件 471,040 字节

C:\WINDOWS\system32 的目录

2007-06-01 08:00 471,040 cmd.exe
1 个文件 471,040 字节
---------------------------------------------

找到c盘下共有两个cmd.exe分别在
C:\WINDOWS 文件日期:2009-01-21 20:00

C:\WINDOWS\system32 文件日期: 2007-06-01 08:00

问题1.
如何将这两个目录路径,提取出来给批处理调用呢?
例如:
复制文件 copy %%路径 \cmd.exe c:\
或 跳转到文件所在目录 cd %%路径

问题2.
如果可以调用,如何判断哪个文件比较新。使用比较新的目录路径。并复制
例如: copy %%比较新的文件路径 \cmd.exe c:\
补充:
1、文件夹很可能存在空格。
2、批处理最好不会受盘符的限制,比如可以D盘查找C盘的文件。如:D:\>dir c:\ /s cmd.exe (这样不行)而不用cd c:\
大家帮忙看一下哦 。小弟先谢谢了。
如果问题2太难实现就算了。
说明一下,我不是要找cmd.exe不用给我完整的批处理.

-----------问题补充、
呵呵,谢谢你们。可我主要不是想要查找文件。

dir命令能实现上述的功能吗~~~??? 会的兄弟帮我写段吧~~!! 再次谢谢了。

[ Last edited by 363523943 on 2009-1-22 at 00:30 ]
2 发表于 2009-01-21 23:08 ·  中国 福建 漳州 电信
初级用户
积分 26
发帖 30
注册 2008-12-20 02:46
17年会员
UID 134410
性别 男
状态 离线
自己先顶下
::C:\>dir /s cmd.exe|find "\">1.txt&set /p aa=<1.txt
::C:\>echo %aa%
C:\WINDOWS 的目录
3 发表于 2009-01-21 23:24 ·  中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488
发帖 1,357
注册 2006-05-20 12:00
20年会员
UID 55770
状态 离线
我们地球人现在用FOR的 多

有问题请发论坛或者自行搜索,再短消息问我的统统是SB
4 发表于 2009-01-21 23:37 ·  中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916
发帖 752
注册 2008-12-28 04:30
17年会员
UID 135147
性别 男
来自 广西
状态 离线
pushd c:\
for /r %%a in (cmd.exe?) do set aa=%%~dpa
精简
=> 个人网志
5 发表于 2009-01-22 07:36 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
for /f %%i in ('dir /s /b C:\cmd.exe') do Set _time%%~ti=%%~fi
for /f "tokens=2 delims==" %%i in ('Set _Time|sort') do set _path=%%i

_path就是你需要的路径
49206C6F766520796F752067757973 54656C3A3133383238343036373837
6 发表于 2009-06-06 20:13 ·  中国 云南 昆明 电信
初级用户
积分 36
发帖 25
注册 2009-06-01 08:44
17年会员
UID 146434
性别 男
状态 离线
好!
论坛跳转: