0
想要檢測程序是否在VirtualBox中運行。WMIC批量輸出。如何清除腐敗?
@echo off
setlocal enabledelayedexpansion
set count=0
for /f "tokens=1 delims==" %%a in ('wmic csproduct get name') do (
set name!count!=%%a
set /a count=!count!+1
)
if /i not !name1!==virtualbox (
echo NOT VIRTUALBOX
echo !name1!
) else (
echo VIRTUALBOX
echo !name1!
)
endlocal
但!name1!
字符串已損壞。通過在echo !name1!
之後添加文本,變量!name1!
被添加的文本吃掉,文本出現在BEFORE字符串之前。無法執行if
與此類字符串進行比較。有什麼建議麼?
謝謝。這消除了「隱藏的腐敗」,但仍然留下了一些垃圾。如果有其他人應該與此鬥爭,「echo +!myvariable!+」看看「+!myvariable!+」之間有多少空白,並使用所描述的字符移除技術在[ss64.com](https://ss64.com/nt/syntax-substring.html) –