2017-03-17 16 views
0

バッチファイルを使用してインストールやアンインストールなどを行う必要がある一連のプログラムがあります。 このラインcontainstだから私のバッチファイルこのツールこのwmicコマンドがバッチファイルで機能しないのはなぜですか?

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

のためにそれはちょうど

No Instance(s) Available. 

私はコマンドラインから同じことを実行した場合、完全な作品を印刷します除く

wmic product where name="ABCcorp Tool" get version 

作品罰金、直接(管理者の実行)

登録者の疑い私はそれをバグファイルではなくコマンドラインで直接実行します。 ここで何をすればいいですか?

+1

__your__ Windows地域と言語設定に応じて、コマンドプロンプトウィンドウを開き、 'chcp'を実行して__your__マシンで__your__マシンで使用されているコードページを表示させます。 [OEM 437](https://en.wikipedia.org/wiki/Code_page_437)(米国、カナダ)、[OEM 850](https://en.wikipedia)など、さまざまなコードページを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 

が含まれている必要があります。

私の問題は解決しましたが、誰かが "®"記号でそれを行う方法を知っている場合、他の人にとっては役に立つかもしれません。

関連する問題