无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3663|回复: 3
打印 上一主题 下一主题

如果用批处理查找文件

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-14 14:16:58 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
在所有的分区中查找某个文件,(如QQ。exe),如果查找到了则在该文件的目录下生成一个文件,(这里我会:cpoy >文件名)
请高手在写出方法的同时能讲解一下,自己学习能懂了就不用来麻烦大家了
4#
发表于 2009-12-15 08:52:45 | 只看该作者
if exist fs.txt del fs.txt 应该分割成
if exist fs.txt    和    del fs.txt
前部分表示判断fs.txt是否存在 后面表示如果判断为真 就删除之

至于生成文件
echo %fs%所在文件夹都要有这个文件> %%~dpd\%fs%_xyz.txt
表示用echo 发送一句话生成 一个文件。

这个xp下的批处理通过 for 完成两个循环嵌套。

对于p处理初学者,我的建议是 从最基本的命令 记起 一个命令一个命令的学,而且要从简单到复杂循序渐进。
比如:dir /? 找出dir命令的全部参数,然后逐个尝试。
冒然学习成批的语句,应该不容易达到效果,只能是对某一个命令一知半解。

[ 本帖最后由 dos时代菜鸟 于 2009-12-15 09:04 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2009-12-14 22:11:29 | 只看该作者
呵呵,还是慢慢啃吧,如果啃得下,又学习到一些了。
再问一下,那个生成文件的语句应该插在那里好呢?


那个 set fs=qq.exe 应该是把那个变量=qq.exe

if exist fs.txt del fs.txt
下一句前面好理解,应该是判断文件是不是存在的 “fs.txt del fs.txt”这个就不知道了

[ 本帖最后由 gdpndw 于 2009-12-14 22:19 编辑 ]
回复

使用道具 举报

2#
发表于 2009-12-14 15:52:15 | 只看该作者
代码如下:
@echo off
set fs=qq.exe
if exist fs.txt del fs.txt
echo 搜索 %fs% ....
for %%c 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 %%c:  for /f "delims=" %%d in ('dir /b /s /a-d  %%c:\%fs%') do (
                echo %%~dpd>>fs.txt
                echo %fs%所在文件夹都要有这个文件> %%~dpd\%fs%_xyz.txt
                )
   )>nul 2>nul

if exist fs.txt ( echo 找到的文件夹: & type fs.txt  
) else ( echo 文件夹未找到!)
echo 按任意键结束! & pause>nul

至于解释:
1、不知道你能看懂多少,总不能让我连为什么1+1=2都将给你听吧。
2、编辑p处理多了,就习惯用p处理的逻辑考虑问题,要翻译成汉语还真不知道从何处入手。

还是你把不明白的地方说出来再说吧。

[ 本帖最后由 dos时代菜鸟 于 2009-12-14 16:04 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-2-27 22:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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