
[已解決]禁用RAID設備的批處理執行結果和實際有出入最后由 yakeyun 于 -8-23 13:23因為需要用這個命令來禁用RAID設備,如果不禁用自動打上驅動后會導致開機藍屏。先上代碼:
- @echo off & setlocal enabledelayedexpansion
- cd /d %~dp0
- ::=============================優先禁用RAID設備=============================
- for /f tokens=1,* delims=: %%a in ('pnputil /enum-devices /problem 28 /ids ^|findstr /n RAID 控制器') do (
- set lines=%%a
- set /a lines1=!lines! - 1
- echo !lines!
- echo !lines1!
- set counter=0
- for /f tokens=1,*%%b in ('pnputil /enum-devices /problem 28 /ids') do (
- set /a counter+=1
- if !counter! equ !lines1! (
- echo !counter!
- echo %%b
- start /min %SystemRoot%system32pnputil.exe /disable-device %%c
- )
- )
- )
- :Scan
- start /min %SystemRoot%system32pnputil.exe /scan-devices
- start /min %SystemRoot%system32pnputil.exe /scan-devices
- start /min %SystemRoot%system32pnputil.exe /scan-devices
- start /min %SystemRoot%system32pnputil.exe /scan-devices
- pause
- exit
nclick="copycode($('code0'));">復制代碼
下面是運行結果,從運行結果可以看出,獲取的變量都是對的,但是結果卻是錯的。其中 if !counter! equ !lines1! 這句代碼的作用是,如果當前操作的行號和目標行號一致,就輸出內容。也就是實例 ID: 所在行信息。nload="thumbImg(this)" alt="" />