找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28649|回复: 6

[文件操作] [已解决]-批处理如何判断是否存在doc文件并调用bat?

[复制链接]
发表于 2013-6-26 16:36:18 | 显示全部楼层 |阅读模式
本帖最后由 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 )
复制代码
這樣對嗎?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-6-26 17:20:55 | 显示全部楼层
根据你的亲自测试,它是对呢?还是不对呢?
 楼主| 发表于 2013-6-26 17:32:12 | 显示全部楼层
本帖最后由 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 呢?
 楼主| 发表于 2013-6-26 17:57:39 | 显示全部楼层
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

請教~我該怎麼修正呢?
 楼主| 发表于 2013-6-26 18:23:27 | 显示全部楼层
for /r d:\test\1\ %%i in (*.doc) do if exist %%i call %%i

call d:\test\2\222.doc

這樣是可以達到我要的效果~但不理解如何用 if not exist () else 來完成><"
发表于 2013-6-26 18:33:55 | 显示全部楼层
回复 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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2013-6-26 18:37:15 | 显示全部楼层
感謝~二位大大的引導~讓我學習良多~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 15:12 , Processed in 0.019664 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表