自动检测按键并触发Powershell脚本运行

问题描述 投票:0回答:1

我想要实现某种功能,这样一来,当我按Enter键或键盘上的F3键时,它应该在后台运行Powershell脚本。按下按钮触发的事件必须通过命令提示符命令或后台批处理文件从后台进程完成。 (需要注意的是:-这是一个USB键盘,已与上面配置的单个按钮相连(例如:-Enter)

powershell batch-file batch-processing
1个回答
0
投票

我认为这可能有效:

@echo off
:begin
choice /C [YOURKEYHERE] /N /M "[YOUR TEXT HERE]"
if %ERRORLEVEL%==1 start [PATH\TO\YOUR\SCRIPT.HERE]
goto start

例如,

@echo off
:begin
choice /C N /N
if %ERRORLEVEL%==1 start notepad.exe
goto begin

这将首先等待输入。如果按下不是N的任何键,则不会发生任何事情。按下N后,错误级别设置为1。然后,第二行检查错误级别是否为1,如果是,则Notepad.exe将打开。最后一部分只是将脚本设置为不断循环。如果您想要一个以上的键,可以使用这样的脚本,

@echo off
:begin
choice /C NC /N
if %ERRORLEVEL%==2 start Calc.exe
if %ERRORLEVEL%==1 start Notepad.exe
goto begin

现在,如果按第一个键(N),则将错误级别设置为1,而如果按第二个键(C),则将错误级别设置为2 ect。您可以根据需要拥有任意数量的键,但是只需确保错误级别的脚本按降序排列即可(例如,“ if%ERRORLEVEL%== 3”,“ if%ERRORLEVEL%== 2”,“ if% ERRORLEVEL%== 1“)

关于“后台”部分,可以使用名为Advanced BAT to EXE Converter的程序将BAT文件转换为EXE文件。转换时您拥有的选项之一是“在后台运行”。这仅适用于Windows 2000,XP,Vista,7、8、8.1和10以及所有Windows Server OS。唯一的缺点是,一旦将脚本转换为EXE文件,除非您购买Advanced BAT to EXE Converter PRO,否则只能在您自己的计算机上使用。希望我能帮上忙!

© www.soinside.com 2019 - 2024. All rights reserved.