控制台应用程序在从 PowerShell 运行时不会获取包含 $ 符号的参数

本文关键字:包含 获取 符号 参数 应用程序 PowerShell 运行时 控制台 | 更新日期: 2023-09-27 18:36:43

我正在尝试编写一个控制台应用程序,该应用程序需要 7 个命令行参数。第 4 个参数用于密码,我无法控制它。密码可以包含 $ 符号。

这是我从PowerShell调用的简单代码,只有1个参数用于测试目的:

static void Main(string[] args)
{
    Console.WriteLine(args[0]);
    Console.WriteLine(args[0].Length);
}

如果我跑program.exe abc$def我得到


abc 3

$def没有出现。

program.exe "abc$edf"不会改变最终结果。我只得到abc

program.exe "abc$'edf"(也不带引号)给出了abc$'def

知道为什么以及如何解决这个问题吗?

控制台应用程序在从 PowerShell 运行时不会获取包含 $ 符号的参数

问题是我在PowerShell window上运行程序而不是CMD window . $标志对PowerShell是特别的。这就是参数字符串被砍掉的原因。