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

[文件操作] [已解决]-批处理如何判断是否存在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 )
复制代码
這樣對嗎?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

根据你的亲自测试,它是对呢?还是不对呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 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 呢?

TOP

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

請教~我該怎麼修正呢?

TOP

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

call d:\test\2\222.doc

這樣是可以達到我要的效果~但不理解如何用 if not exist () else 來完成><"

TOP

回复 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. )
复制代码
1

评分人数

TOP

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

TOP

返回列表