cmd命令行带参启动程序
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
cmd命令行带参启动程序的更多相关文章
- Python安装后在CMD命令行下出现“应用程序无法启动.............”问题
问题存在之一:系统是刚刚重做的精简版服务器系统(阉割版) AN就是在阿里云上刚开的Windows Server 2008 系统上碰到的 吓尿了都 症状: 正常安装python环 ...
- C#根据域名查询IP(CMD命令参数输入或者启动程序后再输入查询)
有时因为需要,希望知道域名的IP,那用C#怎么实现呢?以下是实现代码 using System; using System.Collections.Generic; using System.Linq ...
- ASP.NET Core:CMD命令行+记事本 创建Console程序和Web Application
今天看了Scott关于ASP.NET Core的介绍视频,发现用命令行一步一步新建项目.添加Package.Restore.Build.Run 执行的实现方式,更让容易让我们了解.NET Core的运 ...
- gcc gdb调试 & 命令行带参 (一) ******
用GDB调试程序 GDB概述———— GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台下做软 ...
- cmd命令行编译c/c++程序
一.打开文件夹(文件夹名字为123,文件夹里面有程序345.cpp) cd 123 二.在cmd里面编译程序 1.cd Desktop //在打开文件夹之前不回到桌面会出错 2.cd 123 ...
- 如何在cmd命令行中运行Java程序
cmd运行java 有萌新问我怎么用cmd运行Java,他运行报错了,怎么办?如图是他的执行过程: 他说就这一个类,里面包含了main方法怎么会没有加载主类呢. 其实很简单,因为你执行的时候并不能直接 ...
- svn 用cmd命令行启动服务
部署好svn 服务器后,用cmd命令行 svnserve -d -r [仓库地址] 启动服务,这样别的用户可以通过网络访问svn服务器了.
- 在CMD命令行下关闭进程的命令
转载: [重要]在CMD命令行下关闭进程的命令━━━━━━━━━━━━━━━━━━━━━━━━━━ 方法一: 在"运行"中输入:ntsd -c q -pn 程序名字(在MS-Dos ...
- windows脚本(VBS)之cmd命令行的妙用
windows脚本(VBS)之cmd命令行的妙用 (2009-08-06 13:40:55) 转载▼ 标签: 脚本 cmd 命令行 vbs js 简单 公式 windows it 分类: 计算机 脚本 ...
随机推荐
- Windows下GIT的使用方法
文章引用自:Git使用教程 https://www.cnblogs.com/tugenhua0707/p/4050072.html 本文章只限用于Windows,敬请参考 注意:操作命令纯属手敲 ...
- Java底层技术系列文章-总揽
对于工作中经常用到的东西,还是多看看实现原理,这样用着才能放心. 源码思想学习计划: 1.java基础库 HashCode深入理解 java线程框架窥探 2.集合类 java枚举类使用 递归 ...
- ServiceFabric极简文档-4.1 学习路线图
Service Fabric学习路线图 原文地址:Service Fabric学习路线图
- 关于Linux服务器配置java环境遇到的问题
关于Linux服务器配置java环境遇到的问题 将下载好的JDK安装包解压到/etc/local/路径下,安装完后用vim/etc/profile文件,在文件末尾添加 export JAVA_HOME ...
- python函数知识四 迭代器、生成器
15.迭代器:工具 1.可迭代对象: 官方声明,只要具有__iter__方法的就是可迭代对象 list,dict,str,set,tuple -- 可迭代对象,使用灵活 #方法一: list.__ ...
- c++小游戏——杀手
杀手小游戏 会有一个存活者:(1 2 3 4 5),如果出现(1 0 3 4 5),代表二号已经死了. 一号有3次复活权 且有一次随机诅咒权(即当自己被杀死时,会随机诅咒另外一个人,当然不是死人或自己 ...
- Linux运维跳槽必备
Linux运维跳槽必备的40道面试精华题 1.什么是运维?什么是游戏运维?1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了 ...
- Excel催化剂开源第13波-VSTO开发之DataGridView控件几个小坑
Excel催化剂内部大量使用了DataGridView,这其中有一些小坑,花了力气才解决的,在此给广大开发者作简单分享. 为何要使用DataGridView而不是其他控件如ListBox.ListVi ...
- UVA663 Sorting Slides(烦人的幻灯片)
UVA663 Sorting Slides(烦人的幻灯片) 第一次做到这么玄学的题,在<信息学奥赛一本通>拓扑排序一章找到这个习题(却发现标程都是错的),结果用二分图匹配做了出来 蒟蒻感觉 ...
- Salesforce Admin篇(三) Delegated Administrator
项目中,我们可能会遇见以下的场景. 1. HR 经理针对申请者和工作相关的表的app会经常需要修改布局查看需要的页面的字段: 2. 开发者将record type对应的picklist values等 ...