0

そのため、バッチ ファイルを実行するたびに、コンピュータ名を入力してから、探しているプログラムを入力します。「'(word)%' のような名前」の部分を追加したので、プログラムを見つけるために完全に一致する必要はありません。これが私のコードです:

@echo off
set /p name="Enter PC Name: "
set /p prgm="Type Part of the Program Name: "
wmic /node:%name% product where "name like '%prgm%%'" get name,version
set /p fprgm="Enter Full Program Name: "
wmic /node:%name% product where name="%fprgm%" call uninstall
pause

手動で WMIC にアクセスし、 を使用して検索する/node:(pc-name) product where "name like '(word)%'" get name,versionと機能するため、何が起こっているのかわかりません。

4

1 に答える 1

0

文字どおりに処理するには、特別な意味を持つ一部の文字をエスケープする必要があります。

%バッチ スクリプトでパーセント記号 ( ) を通常の文字として 扱うには、次の例のように2 倍( ) にします。%%

==>type 29951224.bat
@ECHO ON >NUL
@SETLOCAL

set "name=localhost"
set "prgm=visual F"
wmic /node:%name% product where "name like '%prgm%%%'" get name,version

==>29951224.bat

==>set "name=localhost"
==>set "prgm=visual F"
==>wmic /node:localhost product where "name like 'visual F%'" get name,version
Name               Version
Visual F# 3.1 SDK  12.0.21005
Visual F# 3.1 VS   12.0.21005

==>
于 2015-04-29T19:48:03.607 に答える