控制台应用程序在从 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 window
上运行程序而不是CMD window
. $
标志对PowerShell
是特别的。这就是参数字符串被砍掉的原因。