[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 判断指定文件是否存在的批处理为什么执行出错呢?

  1. @echo off
  2. if exist %CommonProgramFiles%\System\ab*.* goto checked
  3. md c:\1.txt
  4. exit
  5. :checked
  6. exit
复制代码
本意是检测%CommonProgramFiles%\System\目录中有没有ab开头的所有文件,但不管有没有,都会执行下一行?

1:标号
2:双引号
3:LZ的这种方式判定——不是很好
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

我对批处理不是很了解,所以只能写些简单的。
能否指点下是哪里的问题么?不管是否存在都会执行下一句。

[ 本帖最后由 lwyjdgv 于 2011-3-14 12:42 编辑 ]

TOP

简化的空间很大:
@dir /a-d "%CommonProgramFiles%\System\ab*.*||@cd.>"c:\1.txt

或者:
if exist "%CommonProgramFiles%\System\ab*.*" @cd.>"c:\1.txt"

TOP

  1. %CommonProgramFiles%==C:\Program Files\Common Files
  2. rem 对于有空格的路径加上双引号
  3. md 是用来创建目录(文件夹)的
  4. 生成文本文件用
  5. echo. >>1.txt
  6. or
  7. cd.>>1.txt
复制代码

TOP

返回列表