Windows 批处理中的 if/then/else 语句

2023-12-23

在 shell 脚本中我有以下代码:

if echo Mr.32 ; then
  echo Success
else
  echo Failed
  exit
fi

Windows 批处理文件的等效语法是什么?


我很难想象 ECHO 何时会失败并返回 ERRORLEVEL 不等于 0。我想如果输出已重定向到文件并且目标驱动器已满,它可能会失败。

CptHammer 发布了一个使用 ERRORLEVEL 的良好解决方案,尽管它不必要地使用了 GOTO。无需使用 GOTO 即可完成此操作:

ECHO Mr.32
if errorlevel 1 (
  echo Failed
  exit /b
) else (
  echo Success
)

有一种更简单的方法可以对任何命令的成功或失败采取行动。

command && success action || failure action

在你的情况下

ECHO Mr.32&& (
  echo Success
) || (
  echo Failed
  exit /b
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 批处理中的 if/then/else 语句 的相关文章

  • 运行程序并退出cmd窗口

    我想制作一个运行特定程序的批处理文件 然后命令窗口自行退出 我尝试了这个 因为我将创建该批处理文件的快捷方式 以便批处理文件位于根目录中 echo off program exe mainframe pkg exit 它可以工作 但黑色窗口
  • Windows 批处理文件:什么是变量扩展,EnableDelayedExpansion 是什么意思?

    变量扩展 是什么意思 它只是意味着 变量定义 还是其他什么意思 当我说时会发生什么setLocal EnableDelayedExpansion 谷歌并不清楚 多变的扩张意味着替换包含在 or 通过它的价值 The normal 扩张发生就
  • 批处理文件运行 npm start

    我有一个角度应用程序 可以使用命令启动npm start在控制台中 现在我想创建一个批处理文件 在启动时执行 npm install 这是我创建的批处理文件 前端 bat cd
  • 写入输出-InputObject(,'测试')-NoEnumerate

    我认为这是一个仅适用于 PowerShell Windows 5 1 的错误 The NoEnumerate当通过命名提供输入时 开关不起作用 InputObject争论 以下函数返回False Function Test Write Ou
  • cordova 平台添加 android 在列出 Android 目标时不起作用

    当我想向我的phoneGap 应用程序添加Android 平台时 我遇到了问题 当我执行命令 cordova platform add android 时 我在 CLI 中收到此消息 Checking Android requirement
  • 判断两个文件是否属于同一个卷

    我正在参与一些 ntfs 硬链接项目 我想知道如何确定两个文件 具有完整路径 是否属于同一卷 有几个选项可用于查找与文件关联的卷信息 找到两个文件的根路径 然后使用GetVolumeInformation http msdn microso
  • 通过类似开关的参数进行循环的批处理文件?

    我正在尝试循环传递给批处理文件的参数 根据参数 我想设置一个变量标志 true 或 false 以便稍后在脚本中使用 所以我的命令是 myscript bat u p s 我的代码是 FOR f a IN DO IF I a u SET U
  • 如何使用Windows任务计划程序执行cscript?

    问题 当我双击 bat 文件时 它会按预期执行 当我在 Windows 任务计划程序中安排它时 除了具有 cscript 的行之外 它都会执行 bat文件的内容 echo off cls cscript CSV To Excel vbs c
  • 完美批量转发参数

    我有一个小的 python 脚本 args py import sys print sys argv 我怎样才能写一个 bat将所有参数转发给该脚本的包装文件 为了从测试中消除我的 shell 我将调用它 import subprocess
  • 如何使文件自我更新(Native C++)

    我将 Microsoft Visual Studio 2008 与 Windows 目标部署结合使用 我如何使文件 自我更新 我已经完成了 通过网络传输 部分 但是如何使可执行文件重写自身 基本上 我想为还包含自动更新程序的目录编写一个自动
  • 如何正确调用 LsaLogonUser 进行交互式登录?

    我正在尝试使用 LsaLogonUser 创建交互式登录会话 但它总是返回STATUS INVALID INFO CLASS 0xc0000003 从网上查到的内存布局KERB INTERACTIVE LOGON结构很棘手 但我很确定我做得
  • IllegalComponentStateException 在 jtabbedpane 内的 jtextfield 中更改语言时

    今天 当我创建 JTabbedPane 时 我注意到一个奇怪的 在我看来 错误 这没有任何意义 而且因为我寻找这个超过 2 小时 所以在网上找不到任何东西 看看这个 import java awt BorderLayout import j
  • 如何使用 Windows API 检索 HD 供应商/序列号

    我说的是physical磁盘驱动器 而不是卷 分区 逻辑驱动器 所以通常建议GetVolumeInformation函数不适用于我的情况 确切地说 我直接使用尚未分区的磁盘 我通过打开它的句柄CreateFile功能 hDisk Creat
  • 如何使用 .Net (C#) 在 Windows 中安全地存储 AES 密钥?

    我一直在寻找一种方法来存储给定的 AES 密钥 以便无法检索它 但它仍然可以用于加密和解密 使用 C 我认为可以找到非对称密钥存储的等效项here http msdn microsoft com en us library tswxhw92
  • Powershell:别名和函数有什么区别?

    Im setting up my powershell profile to create aliases of commonly used commands On Microsoft s documentation https learn
  • Git core.safecrlf 对具有相同行结尾的文件有不同的行为

    我有带有 VS 项目的 Windows 计算机 并且使用 Visual Studio 和 Cygwin 环境中的工具 包括 Git 有时 编辑后我会在文件中得到不同的行结尾 我想要简单的解决方案来检查文件的行尾一致性 然后再将其发送到存储库
  • 找出用户属于哪些组

    我有一个刚刚创建的 Windows 用户帐户 以 XYZ 为例 此 XYZ 属于我在计算机管理 gt 本地用户和组中创建的用户组和自定义组 因此 在属性中我看到该用户属于 2 个组 现在我想获取这些组并显示它们 有什么建议么 我已经这样做了
  • 适用于 Python 的旧版本 Windows 二进制库 Wheel 的存储库?

    作为很多用户 我使用很棒的Christopher 的 Windows 二进制轮子 http www lfd uci edu gohlke pythonlibs vlfd当尝试在 Windows 上安装一些 python 包 例如 GDAL
  • 数据太长,导致列错误(包含国家字符)

    我必须移植一些DBS变成独立的MySQL版本 5 0 18运行于Windows 7 64 位我遇到了一个困扰我的问题 如果我尝试将任何国家 Unicode 字符插入varchar我收到错误 ERROR 1406 22001 Data too
  • Windows Defender 检测 Python EXE 为木马

    我制作了一个 Python 脚本 将 Windows 目录以 zip 形式邮寄给我 我使用 sched 模块添加了一个调度程序 每小时重复一次 我试图制作一个简单的同步应用程序供个人使用 在 Windows 启动时启动 我使用将其转换为 e

随机推荐