मैंने खोज की है लेकिन स्पष्ट रूप से मेरा Google foo कमजोर है। मुझे जो चाहिए वह कंसोल में उपयोगकर्ता इनपुट के लिए संकेत देने का एक तरीका है और समय के बाद अनुरोध का समय समाप्त हो गया है और यदि कोई इनपुट नहीं आता है तो स्क्रिप्ट निष्पादित करना जारी रखें। जैसा कि मैं कह सकता हूं, रीड-होस्ट यह प्रदान नहीं करता है कार्यक्षमता। न तो $ host.UI.PromptForChoice() और न ही $ host.UI.RawUI.ReadKey() करता है। किसी भी पॉइंटर्स के लिए अग्रिम धन्यवाद।एक समय समाप्ति के साथ उपयोगकर्ता इनपुट की प्रतीक्षा
संपादित करें: उत्तर खोजने के लिए लार्स Truijens के लिए बहुत धन्यवाद। मैंने वह कोड लिया है जिसे उसने इंगित किया और इसे एक समारोह में encapsulated। ध्यान दें कि जिस तरीके से मैंने इसे कार्यान्वित किया है, इसका मतलब है कि जब उपयोगकर्ता कुंजी को हिट करता है और जब स्क्रिप्ट निष्पादन जारी रहता है तो बीच में एक सेकंड की देरी हो सकती है।
function Pause-Host
{
param(
$Delay = 1
)
$counter = 0;
While(!$host.UI.RawUI.KeyAvailable -and ($counter++ -lt $Delay))
{
[Threading.Thread]::Sleep(1000)
}
}
आपको बहुत बहुत धन्यवाद। मैं अपने शक्तिशाली गूगल फू से पहले झुकता हूँ। – EBGreen
पावरशेल 2 में 'स्टार्ट-स्लीप' cmdlet भी है। – Joey