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

[文件操作] [已解决]bat如何检测上一目录的文件是否存在?

[复制链接]
发表于 2023-2-7 02:05:23 | 显示全部楼层 |阅读模式
本帖最后由 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
复制代码

评分

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

查看全部评分

 楼主| 发表于 2023-2-7 02:31:54 | 显示全部楼层
艹。用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。笑死。
发表于 2023-2-7 10:48:18 | 显示全部楼层
本帖最后由 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 差不多

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 05:12 , Processed in 0.019856 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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