热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cmd命令行带参启动程序

cmd命令行带参启动程序    有一些程序不支持被直接启动,编写代码时,我们可以通过Process类来启动某个进程(某个软件),在不用代码调从而启动某个软件时,windows系统下

cmd命令行带参启动程序

       有一些程序不支持被直接启动,编写代码时,我们可以通过Process类来启动某个进程(某个软件),在不用代码调从而启动某个软件时,windows系统下,通常我们会用到cmd命令行来启动。本文将介绍 cmd常见的命令行启动参数。


1.cmd帮助

  Win+R快捷打开运行窗口,输入cmd确定打开cmd.exe程序。

  cmd帮助:打开 cmd窗口中输入:cmd /?,回车。即可看到相应指令的含义。


2.cmd启动参数

  使用cmd来启动某个应用程序,并向应用程序传入参数:

  下面的指令将使用cmd 间接启动 E盘下的ExportBatchTool.exe程序,并给ExportBatchTool .exe 程序传入C:\190627.whd的启动参数:

  cmd /C E:\ExportBatchTool.exe C:\190627.whd

  /c 在执行完程序之后,cmd也会终止。

  命令:cmd /K E:\ExportBatchTool.exe C:\190627.whd同样会启动ExportBatchTool.exe程序并传递C:\190627.whd参数。

  但是,/k 在执行完程序之后,cmd.exe 依然会继续运行,所以 /c 命令会更适用于自动化的脚本,而 /k命令则更适用于半自动化的脚本。

  Cmd窗口下,直接输入:Start E:\ExportBatchTool.exe C:\190708.whd同样会启动ExportBatchTool.exe程序并传递C:\190627.whd参数。

  START含义:启动单独的窗口以运行指定的程序或命令。Cmd下输入help命令即可查看相应指令含义。


3.参数传递注意事项

3.1多参数传递

  不管java编写的还是C#写的程序,其入口是program类中的main函数,此函数可以接收一个string[]类性的参数。所以,cmd参数传递只能传递字符串数组。那么数组元素怎么区分?cmd以一个空格来区分

  在上面例子中,路径均不涉及空格,且只有一个。如果路径中有空格的话,为避免将此空格用来区分元素,需用引号将包含该空格的元素(路径)引起来,表示一个整体。但实际上,当你此时真给路径加引号,会发现 cmd 就会不识别你的命令路径。

  解决办法

  在整个传给 cmd的命令外层再加一层引号,如:

  cmd /c " "D:\test flo\test.exe" c:\6283.whd "。


3.2特殊字符传递

  在cmd帮助中已有详细的解释说明。现将部分摘录如下,具体参考cmd帮助指令来查看特殊字符处理方式:

  如果字符串加有引号,可以接受用命令分隔符 “&&” 分隔多个命令。

  另外,由于兼容性 原因,/X 与 /E:ON 相同,/Y 与 /E:OFF 相同,且 /R 与 /C 相同。任何其他开关都将被忽略。

  如果指定了 /C 或 /K,则会将该开关之后的命令行的剩余部分作为一个命令行处理,其中,会使用下列逻辑 处理引号(")字符:

  1)如果符合下列所有条件,则会保留命令行上的引号字符:

    - 不带 /S 开关;

    - 正好两个引号字符;

    - 在两个引号字符之间无任何特殊字符, 特殊字符指下列字符: &<>()@^|;

    - 在两个引号字符之间至少有一个空格字符;

    - 在两个引号字符之间的字符串是某个可执行文件的名称。

  2)否则,老办法是看第一个字符是否是引号字符,如果是,则去掉首字符并删除命令行上最后一个引号,保留最后一个引号之后的所有文本。

---------

参考博客文章:https://blog.csdn.net/WPwalter/article/details/94128623



推荐阅读
  • 本文介绍了如何在C#应用程序中有效隐藏SQLCMD命令行窗口,确保程序运行时不会弹出黑色命令提示符窗口。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 如何使用Ping命令来测试网络连接?当网卡安装和有关参数配置完成后,可以使用ping命令来测试一下网络是否连接成功。以winXP为例1、打开XP下DOS窗口具体操作是点击“开始”菜 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 解决Windows下创建子进程时代码重复执行的问题
    在Windows系统中,当启动子进程时,主进程的文件会被复制到子进程中。由于导入模块时会执行该模块中的代码,因此可能导致某些代码在主进程和子进程中各执行一次。本文探讨了这一现象的原因及其解决方案。 ... [详细]
  • 本主题面向IT专业人士,介绍了Windows Server 2012 R2和Windows Server 2012中的组托管服务账户(gMSA),涵盖了其应用场景、功能改进、硬件和软件要求以及相关资源。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 磁盘健康检查与维护
    在计算机系统运行过程中,硬件或电源故障可能会导致文件系统出现异常。为确保数据完整性和系统稳定性,定期进行磁盘健康检查至关重要。本文将详细介绍如何使用fsck和badblocks工具来检测和修复文件系统及硬盘扇区的潜在问题。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • yikesnews第11期:微软Office两个0day和一个提权0day
    点击阅读原文可点击链接根据法国大选被黑客干扰,发送了带漏洞的文档Trumps_Attack_on_Syria_English.docx而此漏洞与ESET&FireEy ... [详细]
  • This post discusses an issue encountered while using the @name annotation in documentation generation, specifically regarding nested class processing and unexpected output. ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • 本文详细介绍了如何在Linux系统中创建和管理DB2数据库,包括用户切换、数据库创建、错误处理、连接与断开、表空间和缓冲池的创建,以及用户权限管理和数据导入导出等操作。 ... [详细]
author-avatar
手机用户2502922083
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有