无忧启动论坛

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

批处理for求助

[复制链接]
跳转到指定楼层
1#
发表于 2011-2-15 19:32:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
@echo off
for /r c:\ %%i in (*.gho) do echo %%i
这个FOR命令,现在只搜索C盘,我想实现的是,C D E都要搜索,研究了一天不知道怎么写???
2#
发表于 2011-2-15 21:53:37 | 只看该作者
@echo off&SETLOCAL ENABLEDELAYEDEXPANSION
for %%d in (c d e) do (
   set Drv=%%d:
      for /f "tokens=*" %%i in ('dir !drv!\*.gho /s/b/a-d') do (
         echo %%i
              ))
pause
回复

使用道具 举报

3#
发表于 2011-2-16 17:25:41 | 只看该作者
for  /f "usebakq tokens=*"  %%i  in (
     `dir /a-d/b/s  c:\*.gho   d:\*.gho  e:\*.gho`
) do (
       set /a n+=1
       call  set "#%%n%%=%%i"
)
echo.  您所收索的盘符,存在以下GHO文件 格式为  " 变量= XXX.gho
set #>"%~dp0GHO.txt&&notepad  "%~dp0GHO.txt"



下面这个不给GHO文件赋值
for  /f "usebakq tokens=*"  %%i  in (
     `dir /a-d/b/s  c:\*.gho   d:\*.gho  e:\*.gho`
) do (
      cd.>"%~dp0GHO.txt
      echo.%%i>"%~dp0GHO.txt   
)
echo.  您所收索的盘符,存在以下GHO文件
notepad  "%~dp0GHO.txt"





楼上,dir  支持N文件搜索的   一个for 就行了

[ 本帖最后由 x9tian 于 2011-2-16 17:34 编辑 ]
回复

使用道具 举报

4#
 楼主| 发表于 2011-2-18 00:14:37 | 只看该作者

回复 #3 x9tian 的帖子

谢谢!太强大了,但是没有完全理解,,
回复

使用道具 举报

5#
发表于 2011-2-20 09:56:19 | 只看该作者
:: for 语句,
     usebakq 参数,是防止,处理文件夹带空格的目录,加了usebkq  参数,命令语句由单引号改成反单引号。 (其实不加usebakq 参数也没事,因为,里面的DIR命令是全盘搜不会处理空格文件夹出问题)
      tokens=*   把 for 语句里面,第一个括号里面的命令和命令运行结果, 都把一整行看成一小节,这样数据里面出现空格,分号什么的就不怕了

for  /f "usebakq tokens=*"  %%i  in (
     `dir /a-d/b/s  c:\*.gho   d:\*.gho  e:\*.gho`
) do (
      :: 设定,N的值,每持行一次加一
       set /a n+=1
      ::call  命令开启变量延迟  使用call 命令里需要延迟的变量要 多加对百分号 如%n% 变成了%%n%    set “#变量=数值或变量” 格式 是为了后面来取后面提取数据方便 (请注意 set 命令中用到了一对双引号,这是为了防止数值中出现空格号必免不同环境下出现BUG)
       call  set "#%%n%%=%%i"
)
echo.  您所收索的盘符,存在以下GHO文件 格式为  " 变量= XXX.gho
::例出所有 变量中含# 的变量和它的赋值
set #>"%~dp0GHO.txt&&notepad  "%~dp0GHO.txt"
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-9-23 22:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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