我正在开始一个这样的新过程:
$p = Start-Process -FilePath $pathToExe -ArgumentList $argumentList -NoNewWindow -PassThru -Wait
if ($p.ExitCode -ne 0)
{
Write-Host = "Failed..."
return
}
Run Code Online (Sandbox Code Playgroud)
我的可执行文件打印了很多到控制台。是否可以不显示我的 exe 的输出?
我试图添加 -RedirectStandardOutput $null标志但它没有用,因为RedirectStandardOutput不接受null. 我还尝试添加| Out-Null到Start-Process函数调用中 - 没有用。是否可以隐藏我调用的 exe 的输出Start-Process?
我通过 PowerShell 调用 C# 函数:
// C# code
public void Foo(string param1, int param2, Dictionary<string, string> param3)
# PowerShell code:
Add-Type -Path $pathToDll
$myClass= New-Object -TypeName MyClass
$dic= New-Object 'System.Collections.Generic.Dictionary[String,String]'
$dic.Add("Key1","Val1")
$dic.Add("Key2","Val2")
$myClass.Foo("Test1", 1, $dic)
Run Code Online (Sandbox Code Playgroud)
但是如果我想调用带有参数的签名函数怎么办:
public void Foo(string param1, int param2, params string[] param3)
Run Code Online (Sandbox Code Playgroud)
如何从powershell调用这个函数?
如果我这样称呼它:
$myClass.Foo("Test1", 1, "foo1", "foo2", "foo3")
Run Code Online (Sandbox Code Playgroud)
它显示错误:找不到“Foo”的重载和参数计数:“5”。
我有一个对象数组:
$people= @()
foreach ($person in $databaseOfGuests)
{
$people += @{ "FirstName"=$person.FirstName; "LastName"=$person.LastName }
}
Run Code Online (Sandbox Code Playgroud)
现在我想从 中删除重复项$people,是否可以在 PowerShell 中执行此操作?就像是:
$people = $people | Select -Uniq
Run Code Online (Sandbox Code Playgroud)
我有两个数组$people1and $people2,我需要获取所有在$people1但不在 the 中的人的数组,$people2反之亦然。就像是:
$peopleInPeople1ButNotInPeople2 = $people1.Substruct($people2)
$peopleInPeople2ButNotInPeople1 = $people2.Substruct($people1)
Run Code Online (Sandbox Code Playgroud)
可以在PS中一行完成吗?
我有一本城市人口对象字典:
var cityPopulation = new new Dictionary<string, int>()
{
["Sacramento"] = 495234,
["Miami"] = 453579,
["Memphis"] = 652717
});
Run Code Online (Sandbox Code Playgroud)
我需要获得 2 个对应的(相同顺序)数组。我能确定当我这样做时
var cities = cityPopulation.Keys.ToArray();
var populations = cityPopulation.Values.ToArray();
Run Code Online (Sandbox Code Playgroud)
两个数组的顺序将被保留 - 即:
城市 - 第一个元素将是萨克拉门托,第二个 - 迈阿密和第三个 - 孟菲斯,对于人口数组 - 第一个 - 495234、第二个 - 453579 和第三个 - 652717 (城市数组应对应于人口数组)。
我如何确定这一点,如果不能确定 - 如何保留这些数组的顺序?