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

我要创建一个.BAT执行此文件:

  1. 如果C:\myprogram\sync\data.handler存在,退出;

  2. 如果C:\myprogram\html\data.sql不存在,退出;

  3. C:\myprogram\sync\删除所有文件和文件夹除(testtest3test2

  4. 复制C:\myprogram\html\data.sqlC:\myprogram\sync\

  5. 使用option调用其他批处理文件sync.bat myprogram.ini

如果是在Bash环境中很容易对我来说,但我不知道如何测试一个文件或文件夹是否存在,如果它是一个文件或文件夹。


慕妹3242003
浏览 516回答 3
3回答

杨__羊羊

您可以使用是否存在来检查文件: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.txtIF EXIST "C:\some other folder with space\myfile.txt" set __myVariable=C:\some other folder with space\myfile.txtset __myVariable=下面是搜索文件或文件夹的工作示例:REM setupecho "some text" > filenamemkdir "foldername"REM finds file    IF EXIST "filename" (  ECHO file filename exists) ELSE (  ECHO file filename does not exist)REM does not find fileIF 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 folderIF EXIST "foldername\" (  ECHO folder foldername exists) ELSE (  ECHO folder foldername does not exist)REM does not find folderIF EXIST "filename\" (  ECHO folder filename exists) ELSE (  ECHO folder filename does not exist)

慕的地6264312

输入IF /?要获得有关的帮助,它清楚地说明了如何使用IF EXIST。要删除除某些文件夹以外的完整树,请参阅以下问题的答案:Windows批处理脚本删除除一个文件夹外的所有内容最后复制只是意味着可以调用COPY并调用另一个bat文件,如下所示:MYOTHERBATFILE.BAT sync.bat myprogram.ini
打开App,查看更多内容
随时随地看视频慕课网APP