我有一个批处理文件,下面的参数是硬编码的

SET upgrade=false

我想给用户一个明确定义upload参数的选项.默认情况下它应该是false,如果用户明确定义upgrade = true,我应该将其视为true.

我还想检查upload参数中boolean值的验证.

我是批处理文件处理的新手.我试过了默认值处理.

if "%2"=="" goto false

:false
SET upgrade=false
检查变量是否存在.如果不存在,则假设为假.任何与“true”不同的值都被认为是假的
if not defined upgrade set upgrade=false
if not "%upgrade%"=="true" set upgrade=false

当升级变量需要为true时,在调用批处理文件之前定义它,或者从命令行使用第二个批处理文件来调用第一个具有值集的批处理文件.

因此,主批(ej.doWork.cmd)文件将会显示

@echo off
    .... work work work ...
    if not defined upgrade set upgrade=false
    if not "%upgrade%"=="true" set upgrade=false
    .... work work work ...

当您需要从另一个配置开始(在此示例中执行升级)时,您需要从命令行配置变量

set upgrade=true 
doWork.cmd

或者你可以创建第二个cmd来做同样的事情(ej.doWorkWithUpload.cmd)

@echo off
    set upgrade=true
    call doWork.cmd

batch-file – 如何在bat文件中添加可选的命令行参数(windows)的更多相关文章

  1. osx – 你如何访问Swift中的命令行参数?

    如何访问Swift中的命令行应用程序的命令行参数?注意,我使用的范围1..C_ARGC,因为C_ARGV“数组”的第一个元素是应用程序的路径。C_ARGV变量实际上不是一个数组,但可以像数组一样进行子脚本化。

  2. node.js使用yargs处理命令行参数操作示例

    这篇文章主要介绍了node.js使用yargs处理命令行参数操作,结合实例形式分析了yargs库的安装及node.js使用yargs处理命令行参数具体实现技巧,需要的朋友可以参考下

  3. nodejs命令行参数处理模块commander使用实例

    这篇文章主要介绍了nodejs命令行参数处理模块commander使用实例,commander是一个非常高大上的令行参数处理模块,需要的朋友可以参考下

  4. node.js读取命令行参数详解

    本文主要讲解了node.js如何获取命令行参数,有需要的朋友可以参考下

  5. Node.js 中如何收集和解析命令行参数

    这篇文章主要介绍了Node.js 中如何收集和解析命令行参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  6. Python argparse模块实现解析命令行参数方法详解

    argparse 是 python 自带的命令行参数解析包,可以用来方便的服务命令行参数。本文将通过示例和大家详细讲讲argparse的使用,需要的可以参考一下

  7. Windows BAT:测试特定文件是否为空

    我想检查Windows.bat文件中的特定文件是否为空.这是我的非工作脚本:你能帮我调试吗?或尝试一下主要区别在于我使用函数调用并使用%~z1,因为修饰符仅适用于%1,%2..%9等参数或%%a等for循环参数…

  8. batch-file – 如何在bat文件中添加可选的命令行参数(windows)

    我有一个批处理文件,下面的参数是硬编码的SETupgrade=false我想给用户一个明确定义upload参数的选项.默认情况下它应该是false,如果用户明确定义upgrade=true,我应该将其视为true.我还想检查upload参数中boolean值的验证.我是批处理文件处理的新手.我试过了默认值处理.检查变量是否存在.如果不存在,则假设为假.任何与“true”不同的值都被认为是假的当升级

  9. windows – powershell传递命令行参数

    谢谢你实际上有两个范围.脚本级别和脚本块级别.$args.Length和$args[0]将具有您在Invoke-Command级别所期望的内容.在脚本块中,还有另一个$args的范围.要从命令行获取args一直到脚本块,您需要从Invoke-Command-ArgumentList$args重新传递它们.

  10. Windows批处理文件:如何将命令行参数与整数进行比较

    我只是批处理文件编程的新手,我试图在线找到解决方案,但失败了.我的批处理文件调用一个c程序,它将自己的命令行参数传递给程序,然后执行后续步骤,这些步骤取决于第四个参数的值(这是一个整数).如果%4等于3,我想在我的批处理文件中执行额外的步骤.我已经放置了一些echo测试语句.但即使我输入3作为我的第四个参数,也只会打印“testno”.批处理文件名:p2debug1234.bat批处理文件代码:命

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部