带有参数的命令行
我有此代码: string filePath = ConfigurationManager.AppSettings.Get("FILE_SAVE_PATH") + fileName; string newFilePath = ConfigurationManager.AppSettings.Get("FILE_SAVE_PATH") + fileName.Replace(".dbf", ".csv"); ProcessStartInfo startInfo = new ProcessStartInfo(); startInfo.WorkingDirectory = ConfigurationManager.AppSettings.Get("FILE_SAVE_PATH"); startInfo.FileName = "cmd.exe"; startInfo.Arguments = string.Format("\"{0}\" \"{1}\" /EXPORT:{2} /SEPTAB"
6 2024-04-26
编程技术问答社区
在C#中为Urls和本地及网络路径的命令行参数加冕
如何提供一个自动逃逸到控制台应用程序的输入字符串? 我的意思是在我的代码中,我可以做 public static void main(string[] args) { string myURL; myFolder = @"C:\temp\january\"; //just for testing myFolder = args[0]; // I want to do this eventually } 我如何在不必通过命令行手动逃脱它的情况下向我的福尔德提供值? 如果可能的话,我想避免使用这样的应用程序: C:\test> myapplication.exe "C:\\temp\\january\\" 编辑: 相反,如果可能的话,我更喜欢这样的应用程序 C:\test> myapplication.exe @"C:\temp\january\" 谢谢. 编辑: 这实际上是针对调用Share
14 2024-04-25
编程技术问答社区
按代码设置默认的调试命令行参数?
有一种方法可以设置默认调试命令行参数或默认应用程序参数,而无需在项目设置的"调试"选项卡中设置参数? 我的意思是如果我可以做这样的事情: Module Main #If DEBUG Then ' Debug Commandline arguments for my application: My.Application.CommandLineArgs = "-Sleep 5 -Interval 50 -Key CTRL+C" #End If ...Sub main() GetArguments() ' A function wich gets the arguemnts that I've set. ...etc... End module 解决方案 您可以创建一个类,该类将从命令行中抽象其他代码.对于调试汇编,它将返回固定的字符串,否则将返回真实的enviroment.commandline. public static class Comm
14 2024-04-24
编程技术问答社区
" C:程序"未被认为是内部或外部命令
尝试将下面的代码发送到命令行,但我会遇到错误.我知道发送到CMD的后斜线存在问题.这里有任何有关如何发送的帮助吗?谢谢! string strCmdText="/C C:\\Program Files\\MetaTrader 5\\terminal64.exe /config:C:\\Users\\vguer036\\AppData\\Roaming\\MetaQuotes\\Terminal\\D0E8209F77C8CF37AD8BF550E51FF075\\config\\common.ini"; System.Diagnostics.Process.Start("CMD.exe", strCmdText); 解决方案 当您使用此信息时: string strCmdText="/C C:\\Program Files\\MetaTrader 5\\terminal64.exe /config:C:\\Users\\vguer036\\AppData\\Roamin
26 2024-04-24
编程技术问答社区
在C#中向一个正在运行的应用程序发送参数
我试图将参数发送到已经在处理器中的应用程序.我正在使用Mutex查找应用程序是否正在运行.我需要发送任何命令行参数,并且该文本已添加到列表框中.但是参数正在进行,但值未添加到列表框中.应用程序的名称是" myApplication",将值添加到listBox的函数为parameters() static class Program { /// /// The main entry point for the application. /// [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool SetForegroundWindow(IntPtr hWnd); /// /// The main entry point for the ap
20 2024-04-23
编程技术问答社区
C#将过程结果重定向到文本文件
我一直在努力弄清楚为什么我不能使用>>(附加)作为我的p.startinfo.argument的一部分.当我删除">"时,它可以很好地工作,但是当我尝试使用">" >>"我会遇到"错误的参数"错误时.我继续编写了我的程序,没有>或>>,然后将输出存储到字符串中,然后将其写入文件.有人可以解释为什么">"或" >>"在这种情况下不起作用? // Start the child process. Process p = new Process(); // Redirect the output stream of the child process. p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.FileName = "attrib.exe"; startInfo.Arguments = "/S *.jpg > mypics.txt";
16 2024-04-23
编程技术问答社区
直接在程序中打开图像
在教程之后,我在C#Windows中制作了一个基本的图片查看器程序. 该程序正常工作,但我想像默认的Windows Photo Viewer一样打开它.我试图直接使用程序打开图像,但打开程序,图像框为空. 当图像浏览以在程序内部打开时,图像框可以正常工作,但是如何使其外部工作? 额外:有没有办法使其全屏? 对不起,英语不好. P.S:帮助我时,请考虑我.谢谢:) namespace Basic_Picture_Viewer { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void showButton_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogRe
8 2024-04-21
编程技术问答社区
在C#中解析命令行选项
我已经看到人们写自定义类以更轻松地处理各种语言的命令行选项.我想知道.NET(3.5或较低)是否内置了任何内容,因此您不必定制诸如: 之类的东西. myApp.exe file = text.txt 解决方案 对于不需要任何复杂的快速公用事业,许多次控制台应用程序采用表单的命令行: program.exe command -option1 optionparameter option2 optionparameter 等. 在这种情况下,要获得"命令",只需使用args[0] 要获得一个选项,请使用类似的东西: var outputFile = GetArgument(args, "-o"); 其中GetArgument定义为: string GetArgument(IEnumerable args, string option) => args.SkipWhile(i => i != option).Skip
10 2024-04-21
编程技术问答社区
处理命令行参数时清理控制流 [C#]
我正在处理一个程序,该程序会根据命令行参数进行分支.这是在C#中 if (args.Length == 0) { //do something } if (args.Length > 0 && args.Length 0 && args.Length >= 2) { //Process file - Argument 1 if(args[0].Trim() == PROCESS_OPTION_ONE || args[0].Trim() == PROCESS_OP
12 2024-04-20
编程技术问答社区
在Application.Restart()之前修改命令行参数
我的winforms(不是clickonce)应用程序采用命令行参数,仅处理一次.该应用程序使用Application.Restart()在对其配置进行特定更改后重新启动自身. 根据 如果您的应用程序最初是在第一次执行时提供的命令行选项,则重新启动将再次启动使用相同选项的应用程序. 导致命令行参数不止一次处理. 有没有办法在调用Application.Restart()之前修改(存储的)命令行参数? 解决方案 您可以使用这种方法来重新启动应用程序: // using System.Diagnostics; // using System.Windows.Forms; public static void Restart() { ProcessStartInfo startInfo = Process.GetCurrentProcess().StartInfo; startInfo.FileName = Application.Execu
4 2024-04-19
编程技术问答社区
如果我不想加载主表单,如何在Winforms中处理命令行参数?
我想创建一个行为如下的应用: 在没有参数的情况下,它显示主要形式 在参数上" a"有作业,但主要形式未加载. 在参数" b"上使用传递的参数(加载该文档) 加载表单 对于1和3,我可以在表格的构造函数中处理参数,如下所示: public ConfigurationActionManagerForm() { InitializeComponent(); Environment.GetCommandLineArgs(); // do stuff with that argument } 但是这种方法不允许我应用2的行为. 在列表中. 在program.cs中,我可以在创建表单之前对其进行编辑以处理参数,但是如果我不想传递表单,则使用Application.Run()的正确方法是什么?我将如何告知Program类实例,我需要终止或显示一条消息,即出现问题或什至显示了该过程正在做事的一些任务栏图标(将其视为UNZIPPITION过程).
4 2024-04-19
编程技术问答社区
在命令行参数中传递新行?
我加载了一个小型控制台应用程序,该应用程序简单地读取并打印第一个命令行参数传递给程序到控制台. 我想将新线传递给我尝试过的参数: prog.exe \n --> outputs \n prog.exe "sfs \n sfff" --> outputs sfs \n sfff prog.exe "ff \\n ff" --> outputs ff \\n ff prog .exe "ff \\\\n ff" --> outputs ff \\\\n ff 我想使用的其他逃脱吗?或者我必须打电话给ARGS [0]来处理ESC的字符,然后将其输出到控制台之前? 要澄清,我正在尝试将一个字符串传递给我的程序中有新线的字符串.对控制台的输出被用作测试.我本可以很容易地插入一个调试断路线并检查变量的内容. 解决方案 您遇到的问题是您从命令行获得的字符串未编译.当您在代码中具有字符串文字时,它们会被编译,这是当逃生字符被处理并转换为新线等时. 编辑: 来自
10 2024-04-19
编程技术问答社区
命令行参数限制
语言:C# 我必须将巨大的字符串数组(动态构建)作为参数以运行EXE. 我正在考虑通过以下2种方法来汲取它.但是我不自信. 我可以将其创建为一个由空格界定的字符串.我可以通过process.start调用exe. 因此,运行的子进程考虑该空间并作为字符串数组. 但是,我不确定字符串阵列限制.假设如果我的字符串数组计数超过10,000 我可以将其创建为一个字符串,该字符串由特殊符号界定,该字符串永远不会落入数据.我可以用字符串调用EXE.运行的子进程将其视为一个单字符串,在其中我可以用同一定界符将其拆分以使字符串数组返回.但是,在这里我不确定命令大小.如果命令行长长 ,会这样做 任何人都可以帮助我让我知道参数大小限制 解决方案 它取决于OS: 请参阅命令提示(cmd.Exe)命令 - 线字符串限制在Microsoft支持网站上. 在运行Microsoft Windows XP或更高版本的计算机上,您可以在命令提示符上使用的字符串的最大长度为 81
18 2024-04-18
编程技术问答社区
查看传递给程序的命令行参数
您可以跳过此部分 我正在使用我的拇指驱动器中有一个批处理文件来 安装一个真正的地穴量.我在借助 此链接.在该批处理文件上,我有用户名和密码 我将争论作为truecrypt.exe将其传递给 安装. 无论如何,我的问题是:是否可以看到第三方过程中传递给程序的论点?换句话说,是否可以看到将参数传递给该程序: using System; using System.Reflection; using System.Diagnostics; class Program { static string password = ""; static void Main(string[] args) { if (args.Length > 0) password = args[0]; // get location where this program resides var loca
10 2024-04-17
编程技术问答社区
Word命令行参数的空间问题
我想将参数传递给winword,以便通过使用Environal.getCommandlineArgs(). 如果参数值包含一个空间,我无法逃脱字符串. 这在工作: winword.exe /myVar1:C:\folder\whatever1.doc /myVar2:C:\folder\somethingelese.txt C:\example.doc 这不起作用: winword.exe /myVar1:"C:\folder with space\whatever1.doc" /myVar2:"C:\folder with space 2\somethingelese.txt" C:\example.doc 解决方案 尝试以下命令: winword.exe "/myVar1:C:\folder with space\whatever1.doc" "/myVar2:C:\folder with space 2\somethingelese.txt" C
6 2024-04-16
编程技术问答社区
如何使用txt文件作为命令行参数?
我有一个.txt文件: 6 4 1 2 2 3 3 4 4 5 1 2 4 5 如何将其用作c#? 中的命令行参数 解决方案 如果您打算提供程序数据program.exe Right click on project file> Select Properties from context menu.这打开了项目的属性窗口.现在转到D
12 2024-04-16
编程技术问答社区
将文件拖到桌面上的快捷方式--不能在应用程序中打开文件
我有一个小的日志观看器应用程序可以读取一些自定义日志.我可以将文件直接拖到可执行文件上,然后通过命令行加载文件. 但是,如果要将文件拖到桌面快捷方式,Windows将不会使用文件作为命令行参数打开应用程序.它根本不会打开应用程序. 我缺少什么吗? 这是在Windows 7 Enterprise X64上,没有任何高架特权运行.这全都用C#,.NET 4.0客户端框架等编写. 解决方案 您的桌面快捷方式是 parddistist shortcut?您不能拖放到广告上的快捷方式上.如果您使用Wix或Visual Studio设置项目为您的应用程序创建.msi安装程序,那么Windows安装程序为您创建的桌面快捷方式可能是广告的快捷方式.另外,您可以通过右键单击,查看属性并查看目标字段是否已灰色,来判断是否宣传了捷径.如果是这样,那就做广告.防止这种情况的一种方法是设置设置或测试的最简单方法是使用 orca ,并在属性表中添加一个名为disableadvtshortc
10 2024-04-16
编程技术问答社区
Windows窗体应用程序的命令行参数
我已经通过Google进行了搜索,在这里找到了许多示例,但是我似乎无法让Windows表单应用程序运行并进行命令行的参数.我真的很想可以在没有控制台版本的情况下安排应用程序.但是,每当我设置CMD行参数时,它都会使用CLR20R3错误出错. static void Main(string[] args) { if(args != null && args.Length > 0) { /* * arg[1] = Backup Location *require * arg[2] = Log File - Enable if present *optional * arg[3] = Debug Messages - Enabled if present *optional * arg[4] = Backup Type - Type to perform *required */ } els
8 2024-04-15
编程技术问答社区
Directory.GetCurrentDirectory()根据命令行参数返回不同的结果
我希望有人可以解释为什么 directory.getCurrentDirectory()根据我将命令行参数传递给应用程序的方式返回不同的结果(使用args vs vs vs将文件夹拖到应用程序上. exe) 直接考虑此代码: public class Program { static void Main(string[] args) { Console.WriteLine("The current directory is {0}", Directory.GetCurrentDirectory()); if(args != null && args.Any()) Console.WriteLine("Command line arguments are {0}", String.Join(", ", args)); Console.ReadLine(); } } 如果您使
12 2024-04-15
编程技术问答社区
在Powershell中调用带参数的Invoke-Expression
我在C#中写了一个Powershell模块,该模块具有一堆CMDLET,例如 add-vm cmdlet伸向API并将数据拉回. 但是,为了与产品的SSH CLI保持统一,我写了一个名为NewTask的功能,该功能接受" Addvm"为参数,$ args. . 例如 newtask addvm -id 12345 i然后调用add-vm,然后将$ args作为字符串,例如so Invoke-Expression Add-VM $argstr 问题在于,ADD-VM引发了一个错误,该错误无法找到接受参数System.Object [] 的位置参数 找不到一个位置参数接受参数'system.Object []' 虽然我可以轻松地将'addvm''与" add-vm"相提并论,但我正在尝试与SSH CLI保持统一性,以便新用户可以快速使用此模块. 我认为发送像" -id 12345"之类的字符串就足够了,但事实并非如此. PSC
6 2024-04-15
编程技术问答社区