为了账号安全,请及时绑定邮箱和手机立即绑定

如何验证批处理文件中是否存在文件?

如何验证批处理文件中是否存在文件?

慕妹3242003 2019-12-11 13:09:19
我要创建一个.BAT执行此文件:如果C:\myprogram\sync\data.handler存在,退出;如果C:\myprogram\html\data.sql不存在,退出;在C:\myprogram\sync\删除所有文件和文件夹除(test,test3和test2)复制C:\myprogram\html\data.sql到C:\myprogram\sync\使用option调用其他批处理文件sync.bat myprogram.ini。如果是在Bash环境中很容易对我来说,但我不知道如何测试一个文件或文件夹是否存在,如果它是一个文件或文件夹。
查看完整描述

3 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

您可以使用是否存在来检查文件:


IF EXIST "filename" (

  REM Do one thing

) ELSE (

  REM Do another thing

)

如果你不需要一个“其他”,你可以这样做:


set __myVariable=

IF EXIST "C:\folder with space\myfile.txt" set __myVariable=C:\folder with space\myfile.txt

IF EXIST "C:\some other folder with space\myfile.txt" set __myVariable=C:\some other folder with space\myfile.txt

set __myVariable=

下面是搜索文件或文件夹的工作示例:


REM setup


echo "some text" > filename

mkdir "foldername"


REM finds file    


IF EXIST "filename" (

  ECHO file filename exists

) ELSE (

  ECHO file filename does not exist

)


REM does not find file


IF EXIST "filename2.txt" (

  ECHO file filename2.txt exists

) ELSE (

  ECHO file filename2.txt does not exist

)


REM folders must have a trailing backslash    


REM finds folder


IF EXIST "foldername\" (

  ECHO folder foldername exists

) ELSE (

  ECHO folder foldername does not exist

)


REM does not find folder


IF EXIST "filename\" (

  ECHO folder filename exists

) ELSE (

  ECHO folder filename does not exist

)



查看完整回答
反对 回复 2019-12-12
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

输入IF /?要获得有关的帮助,它清楚地说明了如何使用IF EXIST。


要删除除某些文件夹以外的完整树,请参阅以下问题的答案:Windows批处理脚本删除除一个文件夹外的所有内容


最后复制只是意味着可以调用COPY并调用另一个bat文件,如下所示:


MYOTHERBATFILE.BAT sync.bat myprogram.ini



查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信