由于我對撰寫代碼知之甚少,我正在嘗試制作一個批處理檔案,我可以在其中使用 IF 陳述句禁用或啟用音頻設備中的一行。
例如,如果設備當前已啟用,當我運行 .bat 檔案時,它將禁用。如果它被禁用,那么它將啟用它。
我有設備 ID(“SWD\MMDEVAPI{0.0.1.00000000}.{55e90a30-8001-4bc8-af56-52998c03ed88}”)。我目前正在使用 pnputil /disable-device 有效。但我不知道如何處理 IF 陳述句。將不勝感激一些幫助。
編輯:好的,所以我找到了一個名為 SoundVolumeView.exe 的工具,它可以降低聲音,這樣在啟動時就聽不到白噪聲。它也可以通過命令列靜音。
uj5u.com熱心網友回復:
我不確定你是否已經自己解決了這個問題,而且我知道我不應該在這里舀代碼,但我有一個腳本做了類似的事情,我認為我應該做出貢獻。如果您對此腳本有任何問題,請評論您的問題。
說明:它運行pnputil /enum-devices /ids并查看輸出,直到到達帶有設備 ID 的行。它將一個名為 4 的變數設定ahead為 4。如果ahead大于 0,那么它將檢查它是否為 0,如果不是,那么它將轉到命令輸出的下一行。如果是 0,那么它會去toggle標簽,然后它會檢查該行,如果它沒有說Started。如果它沒有Started在行中,那么它將啟用您的設備,如果它確實說已啟動,那么它將禁用它。然后它只是暫停并退出。
@echo off
setlocal enableDelayedExpansion
REM Needs to be run as administrator to work
set device=SWD\MMDEVAPI{0.0.1.00000000}.{55e90a30-8001-4bc8-af56-52998c03ed88}
set ahead=-1
for /f "delims=" %%a in ('pnputil /enum-devices /ids') do (
set "line=%%a"
if !ahead! GEQ 0 (
if !ahead!==0 goto :toggle
set /a ahead-=1
) else (
if not "x!line:
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/492137.html
