
[分享]批處理if語(yǔ)句括號(hào)內(nèi)變量包含括號(hào)文本無(wú)法執(zhí)行解決方法最后由 yakeyun 于 -2-15 18:53具體代碼如下,第一個(gè)截取位置如圖所示,可以正常顯示,但是后面判斷部分就會(huì)閃退,把變量%zbname%刪除后,就可以正常跳轉(zhuǎn)。
遇到這種情況只需要把變量的%號(hào)替換為!,即可解決。測(cè)試發(fā)現(xiàn)!!對(duì)于變量名太長(zhǎng)的(第二種情況變量),不太友好,會(huì)導(dǎo)致輸出結(jié)果另提一行,或者變量顯示順序被打亂。修改前顯示:我是微星PRO Z690-P DDR4 (MS-7D36)主板,商家標(biāo)識(shí):Micro-Star International Co., Ltd.修改后顯示:我是微星PRO Z690-P DDR4 (MS-7D36)主板,商家標(biāo)識(shí):Micro-Star International Co., Ltd. 還是用%%,外面加雙引號(hào)可以完美解決。即:nclick="copycode($('code0'));">復(fù)制代碼
- @echo off&setlocal enabledelayedexpansion
- for /f delims== tokens=1,* %%x in ('wmic baseboard get Product^/value ^|find =') do set zbname=%%y
- for /f delims== tokens=1,* %%i in ('wmic baseboard get manufacturer^/value ^|find =') do set name=%%j
- echo 我是微星%zbname%主板,商家標(biāo)識(shí):%name%
- pause
- if %name% ==MSI (echo 我是微星%zbname%主板,商家標(biāo)識(shí):%name% >>.log.log & goto MSI)
- if %name%==Micro-Star International Co., Ltd. (echo 我是微星%zbname%主板,商家標(biāo)識(shí):%name% >>.log.log & goto MSI)
- :MSI
- echo ok
- pause
nclick="copycode($('code1'));">復(fù)制代碼
- @echo off&setlocal enabledelayedexpansion
- for /f delims== tokens=1,* %%x in ('wmic baseboard get Product^/value ^|find =') do set zbname=%%y
- for /f delims== tokens=1,* %%i in ('wmic baseboard get manufacturer^/value ^|find =') do set name=%%j
- echo 我是微星%zbname%主板,商家標(biāo)識(shí):%name%
- pause
- if %name% ==MSI (echo 我是微星%zbname%主板,商家標(biāo)識(shí):%name% >>.log.log & goto MSI)
- if %name%==Micro-Star International Co., Ltd. (echo 我是微星%zbname%主板,商家標(biāo)識(shí):%name% >>.log.log & goto MSI)
- :MSI
- echo ok
- pause

