我的数字化仪和笔出了点问题。只有当笔在屏幕上方1厘米时,手掌拒绝才能检测到它。
因此,我正在尝试创建一个批处理,它在执行时禁用或启用触摸屏。
devcon disable "@HID\ELAN0732&COL01\5&242C8B19&1&0000"
devcon enable "@HID\ELAN0732&COL01\5&242C8B19&1&0000"目前,我有两个单独的批处理与上述命令之一,他们工作得很好。但我想把它放在一个包含IF ELSE子句的文件中。
D:
cd D:\Windows Kits\10\Tools\x64
SET /P Test=devcon status "@HID\ELAN0732&COL01\5&242C8B19&1&0000"
IF %Test% EQU 1(
devcon disable "@HID\ELAN0732&COL01\5&242C8B19&1&0000"
)ELSE(
devcon enable "@HID\ELAN0732&COL01\5&242C8B19&1&0000"
)我试过了,但我不知道如何使用status return as IF条件来激活或禁用触摸屏。
C:\WINDOWS\system32>D:
D:\>cd D:\Windows Kits\10\Tools\x64
D:\Windows Kits\10\Tools\x64>SET /P Test=devcon status "@HID\ELAN0732&COL01\5&242C8B19&1&0000"
>>devcon status "@HID\ELAN0732&COL01\5&242C8B19&1&0000"这是由cmd在执行时返回的。最后一行没有执行,我仍然可以编辑它并按enter键,然后cmd关闭。
D:\Windows Kits\10\Tools\x64>devcon status "@HID\ELAN0732&COL01\5&242C8B19&1&0000"
HID\ELAN0732&COL01\5&242C8B19&1&0000
Name: HID-konformer Touchscreen
Device is disabled.
1 matching device(s) found.如果设备已禁用,则为状态
D:\Windows Kits\10\Tools\x64>devcon status "@HID\ELAN0732&COL01\5&242C8B19&1&0000"
HID\ELAN0732&COL01\5&242C8B19&1&0000
Name: HID-konformer Touchscreen
Driver is running.
1 matching device(s) found.如果设备已启用,则为状态
发布于 2020-11-09 22:05:42
要将命令的输出放入变量中,请使用for /f循环。过滤您需要的行(Device is xxxxx),并从该行中获取第三个标记(word):
for /f "tokens=3" %%a in ('devcon status "@HID\ELAN0732&COL01\5&242C8B19&1&0000"^|find "Device is"') do set "status=%%a"
echo status is %status%您的其余代码不太正确(batch对空格有点挑剔),我更改了if与字符串的比较,以使其对于空的%status%变量是安全的:
IF "%status%" == "running" (
devcon disable "@HID\ELAN0732&COL01\5&242C8B19&1&0000"
) ELSE (
devcon enable "@HID\ELAN0732&COL01\5&242C8B19&1&0000"
)https://stackoverflow.com/questions/64752846
复制相似问题