Board logo

标题: [文件操作] BAT批处理如何查询多个目录下是否存在指定的文件类型? [打印本页]

作者: zgfjsm    时间: 2014-3-31 12:02     标题: BAT批处理如何查询多个目录下是否存在指定的文件类型?

需求是这样的:
查询多个目录下是否存在指定的文件类型,如:查询c盘根目录下有没有*.txt,如果没有就查询d盘,没有就e盘,然后没有又从c盘开始,这样循环,一直到有为止。然后在根据文件所在目录在执行相对应的动作,如在c盘发现指定文件就执行c.exe
作者: Batcher    时间: 2014-3-31 13:48

  1. @echo off
  2. :begin
  3. for %%i in (c d e) do (
  4.     if exist "%%i:\*.txt" (
  5.         start "" "%%i.exe"
  6.         goto :eof
  7.     )
  8. )
  9. ping -n 5 127.1 >nul
  10. goto :begin
复制代码

作者: zgfjsm    时间: 2014-3-31 14:08

本帖最后由 zgfjsm 于 2014-3-31 14:10 编辑

多谢老大回帖,但还是有点问题,目录cde是举例,实际情况有可能是C:\Documents and Settings\Administrator,或是C:\Documents and Settings\All Users这样的,不知道这样如果像底下这样 应该怎么改
@echo off
:check
dir C:\Users\Public\Desktop\*.txt >nul 2>nul||C:\Documents and Settings\All Users\*.txt >nul 2>nul||(ping -n 1 -w 1000 0.1 >nul&(ping -n 1 -w 1000 0.1 >nul& goto check)
start c:\1.exe  ;在这个目录C:\Documents and Settings\Administrator
start d:\2.exe ;在这个目录C:\Documents and Settings\All Users
作者: DAIC    时间: 2014-3-31 22:20

回复 3# zgfjsm
  1. start "" "C:\Documents and Settings\Administrator\1.exe"
  2. start "" "C:\Documents and Settings\All Users\2.exe"
复制代码





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