【问题标题】:IF EXIST .. & IF EXIST ... (ECHO ...) ELSE (ECHO ..) doesnt work for meIF EXIST .. 和 IF EXIST ... (ECHO ...) ELSE (ECHO ..) 对我不起作用
【发布时间】:2015-06-10 02:54:27
【问题描述】:

AFAIK 工作解决方案由 TripeHound 分享...。如果你想测试两个文件都存在,你需要IF EXIST D:\ann.PDF IF EXIST D:\file.html ECHO ...第一个 IF 的条件命令是第二个 IF,如果也是如此,执行 ECHO。 – TripeHound

How to run two commands in one line in Windows CMD? 这里接受的答案对我不起作用。

当我只有一个 'IF EXIST ..' 时,没有问题。当我尝试使用 &,(或 .bat 中的 &&)将两个放在同一行时,批处理文件崩溃或 CLI 发布错误 "" & 此时出乎意料 ""

这是我尝试过的代码和(非常一致的)结果

 C:\Windows\system32> IF EXIST D:\file.html  (ECHO this is good) ELSE (ECHO this really sucks)
 this is good

响应是“这很好”,因为两个测试文件(ann.PDF 和 file.html)都存在

  C:\Windows\system32> IF EXIST D:\ann.PDF & IF EXIST D:\file.html (ECHO this is good) ELSE (ECHO this really sucks)
    & was unexpected at this time.

我不知道为什么会出现 'unexpected' 错误。欢迎提出任何富有成效的建议...使用 Windows 7 x64 但解决方案必须也适用于 XP sp3 .... TVMIA !

【问题讨论】:

  • @Dawa Law @trigger 谢谢!我看了看,认为它不适用...尝试实验:将以下内容放入标准 Windows cmd 控制台 IF EXIST D:\ann.PDF & IF EXIST D:\file.html (ECHO passes) ELSE (ECHO fails) 我预计您会看到响应 fails bcz 您的 D 中没有文件分区,我希望 passes bcz 文件存在。错误 ` & 在这个时候是意外的`。我想我会看看 ` & ` 之前的任何地方是否有一个左括号,但 不是 的情况。 IF EXIST D:\ann.PDF (ECHO passes) ELSE (ECHO fails) 自己通过
  • 如果要测试两个文件是否存在,则要IF EXIST D:\ann.PDF IF EXIST D:\file.html ECHO ... 第一个IF 的条件命令是第二个IF,如果也是如此,则执行ECHO .
  • @TripeHound That WORKS,我很惊讶它确实考虑了我的问题副本中包含的链接中的已回答问题。我很高兴它有效,您能否发布信息所在的链接(如果有),以帮助任何被定向到此线程的人?!
  • 我在 19 小时前告诉过你同样的事情。你看起来很傻。

标签: batch-file


【解决方案1】:
If exist <filename> <command>

你没有对那些不起作用的命令。 &amp;&amp;&amp;|| 处理来自命令的错误级别。 If Exist 没有。

C:\Users\David Candy>type %windir%\winhelp.ini  && (echo. & echo found) || echo
not found
[Files]
Serenity.hlp=C:\Users\David Candy\Desktop

found

C:\Users\David Candy>type %windir%\winhelp1.ini  && (echo. & echo found) || echo
 not found
The system cannot find the file specified.
not found

【讨论】:

  • 我很抱歉。有太多的例子,混淆了这个问题。为了避免混淆,我已将问题内容简化为所需的最少内容。
  • If exist c:\somefile if exist someotherfileIf 是一个命令,因此可以出现在另一个 if 的命令部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-05
相关资源
最近更新 更多