我一直试图使用多个键来停止powershell中的循环。我想要一种不会被正常或意外按下的东西,例如Fn-F8或任何两个按键组合。我不想使用ctrl -c,因为该程序将在后台运行,并且在结束时必须进行一些“清理”。我下面的代码将通过按一个键结束,但是我已经知道了。 预先感谢。
$continue = $true
while($continue)
{
if ([console]::KeyAvailable)
{
echo "Toggle with F12";
$x = [System.Console]::ReadKey()
switch ( $x.key)
{
F8 { $continue = $false }
}
}
else
{
# Prints a loop is ended
Write-Output "1"
}
}
答案 0 :(得分:1)
因此PSReadLine可以工作,但不适用于我的FN键。如果我使用Ctrl或其他功能,则可以正常工作。但是,如果我使用FN键,则会出现错误“键'F8'重复或无效的修饰符标记'fn'。”否则,下面的代码可以正常工作。我可能最终不得不改用Ctrl。
SELECT ID,
CASE WHEN OBJ_NAME = 'Col1' THEN Value END as Col1,
CASE WHEN OBJ_NAME = 'Col2' THEN Value END as Col2
FROM Table1