无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2820|回复: 9
打印 上一主题 下一主题

【求助】批处理中如果确定一个文件夹的位置

[复制链接]
跳转到指定楼层
1#
发表于 2010-4-7 12:59:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假设我想通过批处理获取硬盘中QQ的文件夹位置,应该如果写这个批处理,希望各位大侠帮帮忙,给个例子啊,谢谢了
2#
发表于 2010-4-7 13:58:02 | 只看该作者
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
回复

使用道具 举报

3#
发表于 2010-4-7 14:22:39 | 只看该作者
dir /ad /s /b  用来搜索目录
dir /a-d /b /s 用于搜索文件
回复

使用道具 举报

4#
发表于 2010-4-7 15:43:27 | 只看该作者
或者从注册表里读路径来确定也许会比dir 大面积搜索更快。
要是碰到绿色版什么的没在注册表写键值那就囧了
回复

使用道具 举报

5#
发表于 2010-4-7 16:37:23 | 只看该作者
方法挺多的,学习了。
回复

使用道具 举报

6#
 楼主| 发表于 2010-4-7 20:52:51 | 只看该作者
原帖由 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



谢谢,这个命令的确可以的,顺便多问一个问题:在这之后的命令中,怎么能够把这个搜索到的路径应用在新的命令中,而且这个是搜索的文件,如果需要搜索的是文件夹呢,命令应该是怎样的?
回复

使用道具 举报

7#
发表于 2010-4-9 11:05:39 | 只看该作者
必须 考虑 硬盘中已经安装多个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 编辑 ]
回复

使用道具 举报

8#
 楼主| 发表于 2010-4-9 14:14:39 | 只看该作者
好像有点明白了,自己去试试,谢谢楼上的几位了
回复

使用道具 举报

9#
发表于 2010-4-9 16:59:53 | 只看该作者
进来学习学习,谢谢了...
回复

使用道具 举报

10#
发表于 2010-4-9 17:15:20 | 只看该作者
原来还能这样  学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-8 17:24

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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