无忧启动论坛

标题: 【求助】批处理中如果确定一个文件夹的位置 [打印本页]

作者: quzhongzhi    时间: 2010-4-7 12:59
标题: 【求助】批处理中如果确定一个文件夹的位置
假设我想通过批处理获取硬盘中QQ的文件夹位置,应该如果写这个批处理,希望各位大侠帮帮忙,给个例子啊,谢谢了
作者: haiou327    时间: 2010-4-7 13:58
set drv=c d e f  g h i j k l m n o p q r s t u v w x y z
for %%i in (%drv%) do dir /s /a/b %%i:\qq.exe
作者: dos时代菜鸟    时间: 2010-4-7 14:22
dir /ad /s /b  用来搜索目录
dir /a-d /b /s 用于搜索文件
作者: yjd    时间: 2010-4-7 15:43
或者从注册表里读路径来确定也许会比dir 大面积搜索更快。
要是碰到绿色版什么的没在注册表写键值那就囧了
作者: whs3    时间: 2010-4-7 16:37
方法挺多的,学习了。
作者: quzhongzhi    时间: 2010-4-7 20:52
原帖由 haiou327 于 2010-4-7 13:58 发表
set drv=c d e f  g h i j k l m n o p q r s t u v w x y z
for %%i in (%drv%) do dir /s /a/b %%i:\qq.exe



谢谢,这个命令的确可以的,顺便多问一个问题:在这之后的命令中,怎么能够把这个搜索到的路径应用在新的命令中,而且这个是搜索的文件,如果需要搜索的是文件夹呢,命令应该是怎样的?
作者: dos时代菜鸟    时间: 2010-4-9 11:05
必须 考虑 硬盘中已经安装多个qq的情况。

@ECHO OFF
set file="qq.exe"
if exist %temp%\x.txt del %temp%\x.txt
for %%l in (c d e f  g h i j k l m n o p q r s t u v w x y z) do (
if exist %%l:\nul  echo 正在搜索%%l: ... & for /f "delims=" %%i in ('dir /s /b /a %%l:\%file%') do echo %%~dpi>>%temp%\x.txt
)
cls
echo %file% 的位置:
type %temp%\x.txt



这样就可以根据 %temp%\x.txt 的内容 通过 for 逐一行处理 x.txt 的内容。而x.txt 每一行包含一个qq位置文件夹
比如:
for /f "delims=" %%q in (%temp%\x.txt) do (md "%%q\xyz")
就可以 在硬盘上每一个 包含 qq.exe 的文件夹中在建立一个 xyz 文件夹。

[ 本帖最后由 dos时代菜鸟 于 2010-4-9 11:20 编辑 ]
作者: quzhongzhi    时间: 2010-4-9 14:14
好像有点明白了,自己去试试,谢谢楼上的几位了
作者: hpy7332    时间: 2010-4-9 16:59
进来学习学习,谢谢了...
作者: icev44v44    时间: 2010-4-9 17:15
原来还能这样  学习了




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3