Board logo

标题: [文件操作] [已解决]-批处理如何判断是否存在doc文件并调用bat? [打印本页]

作者: lfu0327    时间: 2013-6-26 16:36     标题: [已解决]-批处理如何判断是否存在doc文件并调用bat?

本帖最后由 lfu0327 于 2013-6-26 18:37 编辑

求協助 如何判斷

d:\test\1\
上面的文件夾裡

是否有*.doc


有則開啟該*.doc
並    call d:\test\1\1.BAT


無則 call d:\test\2\2.bat

=====自已的想法是這樣=====不對的話~請大神幫助
  1. for /r d:\test\1\ %%i in  (*.doc) if exist %%i do %%i
  2. else ( start d:\test\2\*.doc )
复制代码
這樣對嗎?
作者: Batcher    时间: 2013-6-26 17:20

根据你的亲自测试,它是对呢?还是不对呢?
作者: lfu0327    时间: 2013-6-26 17:32

本帖最后由 lfu0327 于 2013-6-26 17:51 编辑

回复 2# Batcher


不完全錯~"~

在d:\test\1\11.doc 沒有被開啟

不過,我為了測試有沒有先被找到先 echo 有出來 ,再改成 do 有開啟成功

for /r d:\test\1\ %%i in (*.doc) do %%i
pause



但是接下來我該怎麼判斷,沒有*.DOC 時 會啟動 D:\test\2\*.doc 呢?
作者: lfu0327    时间: 2013-6-26 17:57

for /r d:\test\1\ %%i in (*.doc) do %%i if NOT EXIST %%i call d:\test\2\222.doc

pause

我改成這樣~刪除掉~d:\test\1\*.doc
不過沒辨法啟動        d:\test\2\222.doc

請教~我該怎麼修正呢?
作者: lfu0327    时间: 2013-6-26 18:23

for /r d:\test\1\ %%i in (*.doc) do if exist %%i call %%i

call d:\test\2\222.doc

這樣是可以達到我要的效果~但不理解如何用 if not exist () else 來完成><"
作者: Python    时间: 2013-6-26 18:33

回复 1# lfu0327
  1. @echo off
  2. set "str=bathome"
  3. for /r d:\test\1\ %%i in  (*.doc) do set str=%%i
  4. if "%str%" neq "bathome" (
  5.     start "" "%str%"
  6.     call d:\test\1\1.BAT
  7. ) else (
  8.     call d:\test\2\2.bat
  9. )
复制代码

作者: lfu0327    时间: 2013-6-26 18:37

感謝~二位大大的引導~讓我學習良多~




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