如何删除命令行的exe部分

泽维尔·佩纳(Xavier Pena)

这是我的代码。输入命令行为var1 val1 var2 val2

var rawCmd = Environment.CommandLine;
// Environment.CommandLine adds the .exe info that I don't want in my command line:
// rawCmd = "path\to\ProjectName.vshost.exe" var1 val1 var2 val2

// A. This correction makes it work, although it is pretty ugly:
var cleanCmd = rawCmd.Split(new string[] { ".exe\" " }, StringSplitOptions.None)[1];

// B. This alternative should be cleaner, but I can't make it work:
var exePath = System.Reflection.Assembly.GetCallingAssembly().Location;
cleanCmd = rawCmd.Replace(string.Format($"\"{exePath}\" "), "");

因此,要使B正常工作,我应该能够找到.vhost.exe信息(我找不到)。

但我也想知道是否有一种更干净的方法来完成所有这些工作。


至于我为什么要实现的原因,这里是解释(tl; dr:从命令行解析json):https : //stackoverflow.com/a/36203572/831138

用户名

而不是使用

var rawCmd = Environment.CommandLine;

您可以使用:

var rawCmd = Environment.CommandLine;
var argsOnly = rawCmd.Replace("\"" + Environment.GetCommandLineArgs()[0] + "\"", "");

在您的示例中,这将返回“ var1 val1 var2 val2”。它应该与另一篇文章中的JSON示例一起使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何删除命令行的exe部分

来自分类Dev

在Autohotkey中,如何删除命令行的.java部分?

来自分类Dev

如何使用命令行删除拆分的RAR存档文件的所有部分?

来自分类Dev

如何使用动态命令行参数托管exe

来自分类Dev

如何找到git-bash.exe的命令行选项?

来自分类Dev

如何从命令行获取exe实例数?

来自分类Dev

命令行复制或删除

来自分类Dev

如何部分抑制zip的命令行输出?

来自分类Dev

如何从命令行部分打印XML文件?

来自分类Dev

如何部分抑制zip的命令行输出?

来自分类Dev

如何从命令行删除所有MySQL表?

来自分类Dev

如何从此命令行中删除搜索PID?

来自分类Dev

如何使用命令行删除大量的._文件

来自分类Dev

如何在命令行中删除Blender?

来自分类Dev

如何从XML文件中删除节点作为命令行?

来自分类Dev

如何通过命令行删除特定文件?

来自分类Dev

如何使用linux命令行删除文件夹

来自分类Dev

如何从命令行删除MacOS中的目录?

来自分类Dev

如何使用命令行删除Time Machine文件

来自分类Dev

如何从命令行删除MongoDB集合?

来自分类Dev

如何识别命令行 VR 视频?..并批量删除它们

来自分类Dev

如何从 Ubuntu 命令行中删除 Maven Wrapper?

来自分类Dev

tabcal.exe命令行开关

来自分类Dev

记录cmd.exe的命令行

来自分类Dev

如何返回命令行

来自分类Dev

SAS命令行-部分程序执行

来自分类Dev

如何打开 .exe(不是 Windows 命令行)文件并向其发送命令?

来自分类Dev

仅使用命令行(可能是FFMPEG)删除部分视频

来自分类Dev

从命令行执行exe后,命令行应等待exe完成