c#调用命令行遇到带空格的路径
想用 c#调用如下的DOS命令:
C:\Program Files\Common Files\System\DBWatcherInstall\dtexec.exe /f C:\Program Files\Common Files\System\DBWatcherInstall\ToMSDE.dtsx /conf C:\Program Files\Common Files\System\DBWatcherInstall\ToMSDE.xml
代码如下:
//用于执行DOS命令的方法public static string ExecuteDosCommand(string dosCommand, int milliseconds){string output = ""; //输出字符串if (dosCommand != null && dosCommand != ""){Process process = new Process(); //创建进程对象ProcessStartInfo startInfo = new ProcessStartInfo();startInfo.FileName = "cmd.exe"; //设定需要执行的命令startInfo.Arguments = "/C @" + dosCommand; //设定参数,其中的“/C”表示执行完命令后马上退出getLogHelper().saveLog(startInfo.Arguments.ToString(), Application.StartupPath + @"\error.log");startInfo.UseShellExecute = false; //不使用系统外壳程序启动startInfo.RedirectStandardInput = false; //不重定向输入startInfo.RedirectStandardOutput = true; //重定向输出startInfo.CreateNoWindow = true; //不创建窗口process.StartInfo = startInfo;try{if (process.Start()) //开始进程{output = process.StandardOutput.ReadToEnd();//读取进程的输出}}catch{throw;}finally{if (process != null)process.Close();}}return output;}
一开始把命令拼接成:
"C:\Program Files\Common Files\System\DBWatcherInstall\dtexec.exe" /f "C:\Program Files\Common Files\System\DBWatcherInstall\ToMSDE.dtsx" /conf "C:\Program Files\Common Files\System\DBWatcherInstall\ToMSDE.xml"
测试失败...
经过多次试验之后, 使用以下方式可以实现:即开头加一个@同时使用""将带空格的路径包围起来
@"C:\Program Files\Common Files\System\DBWatcherInstall\dtexec.exe" /f "C:\Program Files\Common Files\System\DBWatcherInstall\ToMSDE.dtsx" /conf "C:\Program Files\Common Files\System\DBWatcherInstall\ToMSDE.xml" /de
转载于:https://www.cnblogs.com/onmyway20xx/p/3626346.html
c#调用命令行遇到带空格的路径相关推荐
- C# 调用命令行,参数有空格
在程序中调用cmd命令打开一个文件,而文件路径带有空格,如果直接把路径传给cmd,那么cmd就会把路径空格前面的部分当做是一个参数,空格后当做另一个参数,命令行执行把后边截掉了,导致程序出错,会弹出了 ...
- QT中QProcess调用命令行的痛苦经历
在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...
- java调用命令行命令_Java命令行界面(第4部分):命令行
java调用命令行命令 我的Java命令行解析系列的第四部分介绍了Commandline ,它被描述为 "用于解析命令行参数的Java库",它"基于使用注释从命令行参数到 ...
- python调用cmd执行命令_python调用命令行,其中包含“echo”和“|”
参见英文答案 > piping in shell via Python subprocess module 4个 我试着用python调用命令行执行一些文件.但是,当有一个包含"ech ...
- java 调用命令行
java 调用命令行 JAVA Runtime类 java调用命令行 1. java调用终端,使用命令"javac" 2. java调用终端,使用javac编译helloWorld ...
- qt执行命令行失败_QT中QProcess调用命令行的痛苦经历
在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...
- windows下,C++中调用命令行并且获取命令行的输出
说明,上一次写到了使用共享内存来实现获取命令行的输出.但是共享内存实际上是实现两个进程间的通信.其使用方式为在本进程创建共享内存,并在另外一个进程中调用cmd将结果写入到共享内存中,实际没有处理如何调 ...
- Java调用命令行+java生成词云
java调用命令行 package com.weizu.control; import java.io.BufferedReader; import java.io.InputStreamReader ...
- Windows C#调用命令行实现WIFI管理
C#调用命令行实现WIFI管理[输入密码.连接,获取本地WIFI配置] 1.可见网络扫描 2.获取本地已保存WIFI配置信息 3.导出本地WIFI配置信息 4.导入WiFi自定以配置信息,并输入密码 ...
最新文章
- 概率潜在语义分析(Probabilistic Latent Semantic Analysis,PLSA)
- 【ES6】Proxy对象
- Android Action Bar 详解篇
- yolov5 加跟踪 姿态
- js定义鼠标经过变换图片
- 《价值50亿的10句话》读后感(学生作业分享)
- vb6 判断打印机是否有效_智能收银机的热敏打印机打不出字怎么办?
- Jupyter与PyCharm不可兼得?Jupytext就是你需要的!
- 数据结构——队列的C++实现
- MySql 你知道如何正确的取随机数据吗 ?
- 基于JAVA+Spring+MYSQL的家教管理系统
- python的命名空间_python命名空间(namespace)
- 锁定计算机和睡眠有什么区别,电脑休眠和睡眠哪个好?电脑计算机睡眠和休眠有什么区别...
- Android 关机时的radio相关关闭流程
- python广告营销平台_python微信开发平台
- edge扩展下载失败解决办法
- 嵌入式ARM设计编程(一) 简单数据搬移
- ONVIF Device Test Tool测试工具使用方法(详细)
- IO流 输入流、输出流、字节流、字符流、转换流、及Properties类
- 计算机中 递归 的概念,递归是什么?关于递归的详细介绍