我正在排除一个使用powercfg -requests
命令使Windows 10 PC保持清醒的设备的问题。我有一个包含以下内容的BAT文件,因此它可以通过快捷方式以admin属性运行来快速运行:
cmd /k powercfg -requests
这工作,但除了保持窗口打开,我希望能够继续发送powercfg -requests
通过点击箭头向上/输入当需要时,通常会发生如果我打开命令提示符并手动输入它。
我在这里搜索了很多,除了让它自动重复,除了在 BAT文件中发送箭头键之外,我没有发现任何其他内容。
我确实看到了一些暗示可以打印命令的东西,所以它在提示符处输入在命令执行之后,这也可以,但是运气不太好。
这可能吗?
对不起,没有简单的方法…
如此:
@if (@CodeSection == @Batch) @then
@echo off
start "" /B cmd /K
timeout /T 1
CScript //nologo //E:JScript "%~F0" "powercfg -requests{ENTER}"
goto :EOF
@end
WScript.CreateObject("WScript.Shell").SendKeys(WScript.Arguments(0));
有关所使用方法的进一步说明,请参阅答案
请使用PowerShell。你可以右键点击桌面>新建快捷方式并粘贴,然后保存
powershell -NoExit -Command "Add-Content -Path (Get-PSReadlineOption).HistorySavePath 'powercfg -requests'; Invoke-Expression 'powercfg -requests'"
最好创建一个新的快捷方式,因为您可以将其设置为始终以admin身份运行,尽管仍然可以将其放在*.bat/*中。ps1文件
你也可以这样缩写
powershell -NoE -C "$c = 'powercfg -requests'; ac (Get-PSReadlineOption).HistorySavePath $c; iex $c"
PowerShell比批处理要灵活和强大得多。它还有一个持久历史所以使用PowerShell要方便得多。您甚至可能不需要这个,只需按Ctrl+R就可以在历史中搜索powercfg
命令,就像在bash/zsh