python命令行怎么打开,C# 调用命令行,参数有空格

 2023-09-20 阅读 17 评论 0

摘要:在程序中调用cmd命令打开一个文件,而文件路径带有空格,如果直接把路径传给cmd,那么cmd就会把路径空格前面的部分当做是一个参数,空格后当做另一个参数,命令行执行把后边截掉了,导致程序出错,会弹出了C:\Program不是内部或外部命令,

 在程序中调用cmd命令打开一个文件,而文件路径带有空格,如果直接把路径传给cmd,那么cmd就会把路径空格前面的部分当做是一个参数,空格后当做另一个参数,命令行执行把后边截掉了,导致程序出错,会弹出了C:\Program 不是内部或外部命令,也不是可运行的程序或批处理文件的错误提示。解决方法是把传入的参数前后添加双引号,如下:

python命令行怎么打开? 

  private static void ResxToRes(ArrayList ResxPath){//ResxFile 是一个文件夹,用来存放 需要转换的.resx 文件 string s = ""; Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.CreateNoWindow = false; p.Start(); // + '"' + '"' + 可以用 \"\" 替换 // p.StandardInput.WriteLine("%comspec% /k " + '"' + '"' + @"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin" + '"' + '"'); // p.StandardInput.WriteLine("%comspec% /k " + '"' + '"' + @"C:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" + '"' + '"' + " x86 "); // p.StandardInput.WriteLine(@" cd C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin"); for (int i = 0; i < ResxPath.Count; i++) { string Filename = ResxPath[i].ToString(); //根据需要写相应算法生成文件名; ////resgen E:\Filename1.resx e:\ResName1.resources // p.StandardInput.WriteLine("ResGen" + Filename + " " + System.IO.Path.GetFileNameWithoutExtension(Filename) + @".resx");\string string ResName =Path.GetFullPath(Filename)+ ".resx"; string str = "\""+@"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\ResGen.exe"+"\"" + " " + Filename + " " + ResName; p.StandardInput.WriteLine(str);//参数带有空格 应加上引号处理 p.StandardInput.WriteLine(" "); } //此处要exit两次 //退出visual studio 到 cmd.exe p.StandardInput.WriteLine("exit"); //退出cmd.exe p.StandardInput.WriteLine("exit"); p.WaitForExit(); s = s + p.StandardOutput.ReadToEnd(); p.Close(); // return s; }
 public static string startcmd(string command){string output = "";try{Process cmd = new Process();cmd.StartInfo.FileName = command;cmd.StartInfo.UseShellExecute = false;cmd.StartInfo.RedirectStandardInput = true;cmd.StartInfo.RedirectStandardOutput = true;cmd.StartInfo.CreateNoWindow = true;cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;cmd.Start();output = cmd.StandardOutput.ReadToEnd();Console.WriteLine(output);cmd.WaitForExit();cmd.Close();}catch (Exception e){Console.WriteLine(e);}return output;}public static string startcmd(string command, string argument){string output = ""; Process cmd = new Process();try{cmd.StartInfo.FileName = command;cmd.StartInfo.Arguments = argument;cmd.StartInfo.UseShellExecute = false;cmd.StartInfo.RedirectStandardInput = true;cmd.StartInfo.RedirectStandardOutput = true;cmd.StartInfo.CreateNoWindow = true;cmd.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;cmd.Start();output = cmd.StandardOutput.ReadToEnd();Console.WriteLine(output);cmd.WaitForExit();cmd.Close();}catch (Exception e){cmd.Close();Console.WriteLine(e);}return output;}

 

数据库去掉空格的函数,转载于:https://www.cnblogs.com/zuiyirenjian/p/4053388.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/80254.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息