Board logo

标题: [文件操作] [已解决]批处理怎样判断一个文件是否存在 [打印本页]

作者: smss    时间: 2019-6-24 18:48     标题: [已解决]批处理怎样判断一个文件是否存在

A\下有或者没有manifest.xml文件 也可能在A的子目录下 路径不固定 怎样判断A含有manifest.xml
  1. dir "A\" | find "manifest.xml"
  2. if %errorlevel%==1  set /p X=输入任意字符删除,按回车不删除:
复制代码
这样写不合适
写到循环跳 总感觉小题大作
  1. for /r %%b in (*manifest.xml) do (if /i "%%~nxb" equ "manifest.xml" (goto A
  2. ))
  3. :A
  4. set /p X=输入任意字符删除,按回车不删除:
复制代码

作者: Batcher    时间: 2019-6-24 18:55

给你的 dir 命令加上 /s 参数合适吗?
作者: Batcher    时间: 2019-6-24 19:10

那来个好点的写法呗

先说说你的看法,你认为 dir + find 哪里不合适?
作者: smss    时间: 2019-6-24 20:03

回复 3# Batcher
%errorlevel%的值不是只有0和1
作者: Batcher    时间: 2019-6-24 20:20

回复 4# smss


不是。
一般0表示成功,大于0表示失败。
作者: Batcher    时间: 2019-6-25 08:15

既然你没有提 dir + find 哪里不合适,那我来提一个吧:
如果目录下存在一个 manifest.xml 文件夹,会导致判断出错
作者: smss    时间: 2019-6-25 08:29

回复 6# Batcher
  1. dir /s /b /d "%1\manifest.xml" 1>nul 2>nul
  2. if %errorlevel% == 0 set /p X=输入任意字符删除,按回车不删除:
复制代码

作者: miqilaosu    时间: 2019-6-25 08:56

本帖最后由 miqilaosu 于 2019-6-25 08:58 编辑

回复 7# smss
  1. dir /s /b | find "manifest.xml"&&echo.1||echo.2
复制代码
这种用过没
命令代码&&执行成功||执行失败
作者: smss    时间: 2019-6-25 12:15

本帖最后由 smss 于 2019-6-25 12:29 编辑

回复 8# miqilaosu
  1. dir /b /a-h /s "%1" | find "manifest.xml" 1>nul 2>nul&&set /p H=输入任意字符删除代码,按回车不删除代码:
复制代码
简短好用




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