Board logo

标题: [文件操作] 【已解决】批处理中FOR命令的变量如何在后面的命令中引用 [打印本页]

作者: hawke_911    时间: 2009-5-12 00:53     标题: 【已解决】批处理中FOR命令的变量如何在后面的命令中引用

无论问题解决与否,在下先谢谢各位大虾!希望有人能帮助我一下。
批处理源程序如下:
@echo off
for %%q in (c: d: e: f: g: h: ) do if exist %%q\sys.gho 恢复文件存在于%%q盘下!
...
...
...
...
      如果上边的批处理已经找SYS.GHO文件所在的盘符,我将如何在后面的批处理中引用这个盘符变量呢?

[ 本帖最后由 hawke_911 于 2009-5-12 02:17 编辑 ]
作者: 随风    时间: 2009-5-12 01:43

不知道你是不是这个意思,找到第一个以后就跳出for并显示盘符
:
  1. @echo off
  2. for %%q in (c: d: e: f: g: h: ) do (
  3.    if exist "%%q\sys.gho" set "pan=%%q"&goto loop
  4. )
  5. :loop
  6. echo %pan%
  7. pause
复制代码

作者: hawke_911    时间: 2009-5-12 02:08

首先谢谢版主给予的答案。你对我所要表达的意思理解对着呢。可是我在机子上运行后的结果是:
              ECHO 处于关闭状态。
              请按任意键继续......
       希望版主能再次解决一下,谢谢!
作者: 随风    时间: 2009-5-12 02:13     标题: 回复 3楼 的帖子

你确定你的 sys.gho 文件在某个盘的根目录下吗?
建议先测试以下代码。假设 sys.gho 在c盘根目录
:
  1. @echo off
  2. if exist "c:\sys.gho" echo 找到文件
  3. pause
复制代码

作者: hawke_911    时间: 2009-5-12 02:19

谢谢版主,是我没有把sys.gho文件放在根目录下的原因所造成的批处理没有达到预期的结果!!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2