中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-11 21:11
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何在一个batchfile里判断文件是否存在 查看 1,300 回复 4
楼 主 如何在一个batchfile里判断文件是否存在 发表于 2010-08-15 17:15 ·  日本 IIJ
新手上路
积分 18
发帖 18
注册 2010-06-15 11:12
16年会员
UID 168871
性别 女
状态 离线
c:
cd\FTP
del Order.fal
cd Order
cmd.exe /k Order.bat
set /a var = %ERRORLEVEL%
IF %var% EQU 0 (del Order.dat)
cd..
IF %var% EQU 0 (echo %date% %time% Order uploaded >> log.txt) ELSE (echo %date% %time% Order failed >> log.txt
echo "" > Order.fal)


del PaiPai.fal
cd HTTYU_FE
cmd.exe /k PaiPai.bat
set /a var = %ERRORLEVEL%
IF %var% EQU 0 (del PaiPai.dat)
cd..
IF %var% EQU 0 (echo %date% %time% PaiPai uploaded >> log.txt) ELSE (echo %date% %time% PaiPai failed >> log.txt
echo "" > PaiPai.fal)

以上内容是一个batchfile,有两段内容。我想在执行第一段中的红色的语句(此处调用了另一个batchfile)前,先判断C:\FTP路径下是否有Order.dat这个文件存在,如果有,继续执行红色的语句以及后面的所有语句。如果没有Order.dat这个文件,则不再执行第一条红色的语句以及后面的蓝色语句,直接跳到第二段,在第二段的红色的语句处判断C:\FTP路径下是否有PaiPai.dat文件存在,如果有,继续执行红色的语句以及后面所有的语句,如果没有,就什么也不执行。
2 发表于 2010-08-15 17:32 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
if /?
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2010-08-16 09:12 ·  日本 IIJ
新手上路
积分 18
发帖 18
注册 2010-06-15 11:12
16年会员
UID 168871
性别 女
状态 离线
还是不太明白
谁能详细帮我改一下
谢谢
4 发表于 2010-08-16 12:51 ·  中国 北京 朝阳区 中国数码港科技有限公司BGP节点
初级用户
★★
积分 111
发帖 62
注册 2008-09-05 21:18
17年会员
UID 124905
性别 男
来自 http://ms-dos.cz.cc
状态 离线
c:
cd\FTP
del Order.fal
cd Order
if not exist C:\FTP\Order.dat goto middle
cmd.exe /k Order.bat
set /a var = %ERRORLEVEL%
IF %var% EQU 0 (del Order.dat)
cd..
IF %var% EQU 0 (echo %date% %time% Order uploaded >> log.txt) ELSE (echo %date% %time% Order failed >> log.txt
echo "" > Order.fal)
:middle
del PaiPai.fal
cd HTTYU_FE
if not exist C:\FTP\PaiPai.dat goto end
cmd.exe /k PaiPai.bat
set /a var = %ERRORLEVEL%
IF %var% EQU 0 (del PaiPai.dat)
cd..
IF %var% EQU 0 (echo %date% %time% PaiPai uploaded >> log.txt) ELSE (echo %date% %time% PaiPai failed >> log.txt
echo "" > PaiPai.fal)
:end

以上代码应该可以,反正是用if exist 判断文件是否存在

[ Last edited by jinzihao on 2010-8-16 at 12:53 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
ChengXu +1 2010-08-19 11:38
20世纪下载站:http://ms-dos.cz.cc
5 发表于 2010-08-19 11:37 ·  日本 IIJ
新手上路
积分 18
发帖 18
注册 2010-06-15 11:12
16年会员
UID 168871
性别 女
状态 离线
谢谢大家!
论坛跳转: