2017-03-17 174 views
0

我有一套程序需要通過批處理文件來安裝,卸載等。 所以我的批處理文件containst此行爲什麼這個wmic命令不能在批處理文件中工作

wmic product where name="ABCcorp Tool" get version 

工作正常,但該工具

wmic product where name="XYZ® Tool" get version 

它只是打印

No Instance(s) Available. 

完美的作品,如果我運行通過命令行相同直接(管理員運行)

懷疑註冊註冊成爲我改成了

wmic product where "Name like 'XYZ%'" get version 

同樣的問題的罪魁禍首:直接運行在命令行而不是通過批處理文件。 我應該在這裏做什麼?

+1

打開命令提示符窗口並運行'chcp',根據__your__ Windows區域和語言設置,在__your__帳戶的__your__機器上顯示使用哪個代碼頁。您可以在Wikipedia上找到各種代碼頁,例如[OEM 437](https://en.wikipedia.org/wiki/Code_page_437)(美國,加拿大),[OEM 850](https://en.wikipedia)。 org/wiki/Code_page_850)(西歐國家),[Windows-1252](https://en.wikipedia.org/wiki/Windows_1252)(在北美,西歐的GUI應用程序中)。您的問題是由於在編寫批處理代碼時未使用正確的代碼頁導致的。 – Mofi

回答

0

這是比解決方案更多的解決方法。 我想出瞭如何正確地獲取「名稱」。基本上,它應該是

wmic product where "Name like 'XYZ%%'" get version 

裏面的批處理文件becuase%是一個特殊的字符,需要轉義。

所以我的問題已經解決了,但是如果有人知道如何用「®」符號來完成,它可能對其他人有用。

相關問題