Board logo

标题: [文件操作] [已解决]bat如何检测上一目录的文件是否存在? [打印本页]

作者: yhuk    时间: 2023-2-7 02:05     标题: [已解决]bat如何检测上一目录的文件是否存在?

本帖最后由 yhuk 于 2023-2-7 22:03 编辑

如图

在global_variable目录下read_in_set.bat脚本去检测上一目录initial.set1.bat文件是否存在。如果不存在则从global_variable目录下复制到上一目录。本意是想能够分享给同事用。但从百度上没找到好的例程。跪求大佬指点。
  1. @REM 打开网络适配器,根据实际需求方便快速设置IP
  2. start ncpa.cpl
  3. @REM 进行上一目录下set.bat文件判定。不存在文件则自动创建。并使用该文件进行全局变量初始化。
  4. set file=../initial.set1.bat
  5. if exist %file% (
  6.     echo 全局变量参数文件存在!
  7. ) else (
  8.     echo 全局变量参数文件不存在!开始创建!
  9.     copy global_variable\initial.set.bat initial.set.bat
  10. )
  11. pause
复制代码

作者: yhuk    时间: 2023-2-7 02:31

艹。用cd和dir命令打断了一下程序的执行,然后发现由index.bat调用的read_in_set.bat对于目录的判定是根据index.bat的位置来的。学艺不精闹笑话了。
  1. @REM 打开网络适配器,根据实际需求方便快速设置IP
  2. start ncpa.cpl
  3. @REM 进行上一目录下set.bat文件判定。不存在文件则自动创建。并使用该文件进行全局变量初始化。
  4. set file=initial.set.bat
  5. if exist %file% (
  6.     echo 全局变量参数文件存在!
  7. ) else (
  8.     echo 全局变量参数文件不存在!开始创建!
  9.     copy global_variable\initial.set.bat initial.set.bat
  10. )
  11. pause
复制代码
然后发现自己是在对file定义的时候多加了一个1。笑死。
作者: 986981535    时间: 2023-2-7 10:48

本帖最后由 986981535 于 2023-2-7 10:50 编辑
  1. echo off
  2. cd..
  3. set file=initial.set.bat
  4. if exist %file% (
  5.     echo 全局变量参数文件存在!
  6. ) else (
  7.     echo 全局变量参数文件不存在!开始创建!
  8.     copy %cd%\global_variable\initial.set.bat initial.set.bat
  9. )
  10. pause
复制代码
回复 2# yhuk 差不多




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2