当前位置: 首页 > 编程语言 > C#

C#Process.Start参数被截断分享

时间:2023-04-10 15:02:34 C#

C#学习教程:C#Process.StartArgumentTruncated我需要启动一个程序并通过命令参数传递它——有时它只是截断命令。它是全球性的——所以这不仅仅是每个参数的问题,而是整个事情的问题。编辑:问题可能是命令行长度的限制,正如monkey_p所说。问题是:如何绕过它?(更改工作目录不起作用,因为文件可以存在于不同的位置)。我不确定你的问题是什么,但命令行有一个限制。同样的限制对Process.Start(command,args)有效在运行MicrosoftWindowsXP或更高版本的计算机上,可在命令提示符处使用的字符串的最大长度为8191个字符。在运行MicrosoftWindows2000或WindowsNT4.0的计算机上,您可以在命令提示符处使用的字符串的最大长度为2047个字符。如何解决该限制要解决该限制,请使用以下一种或多种方法(取决于您的情况):例如,不要在批处理文件中使用ExecutableFile.exeParameter1Parameter2...ParameterN命令行,修改程序以使用类似如下的命令行,其中ParameterFile是包含所需参数的文件(parameter1parameter2...ParameterN):ExecutableFile.exec::tempParameterFile.txt例如,如果PATH环境变量包含超过2047或8191个字符(适用于您的操作系统),请使用以下一种或多种方法来减少字符数:这是来自Microsoft支持,所以对我没有任何作用-似乎无法增加此限制,并且没有办法以任何其他方式运行它......我会尝试做什么:记住每个文件的路径,将它们移动到某个DIR然后运行程序,将CurrentDirectory设置为DIR并传入文件名,程序结束后将文件移回原位——丑丑丑丑我知道,但好像也没有别的办法了……希望大家多多关注——本文收集自上网,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: