Board logo

标题: 【求助】 dir /s 查找文件。如何获得路径,并调用? [打印本页]

作者: 363523943     时间: 2009-1-21 22:51    标题: 【求助】 dir /s 查找文件。如何获得路径,并调用?

比如我查找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 ]
作者: 363523943     时间: 2009-1-21 23:08
自己先顶下
::C:\>dir /s cmd.exe|find "\">1.txt&set /p aa=<1.txt
::C:\>echo %aa%
C:\WINDOWS 的目录
作者: yishanju     时间: 2009-1-21 23:24
我们地球人现在用FOR的 多
作者: netbenton     时间: 2009-1-21 23:37
pushd c:\
for /r %%a in (cmd.exe?) do set aa=%%~dpa
作者: everest79     时间: 2009-1-22 07:36
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就是你需要的路径
作者: kendos     时间: 2009-6-6 20:13
好!