2015-04-29 4 views
0

Итак, каждый раз, когда я запускаю свой командный файл, плохо печатаю имя компьютера, введите тип программы, которую я ищу. Я добавил часть «name like» (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 он работает.

ответ

0

Вам нужно escape some characters with special meaning для лечения буквально.

Для лечения знака процента (%) как обычный символ в пакетном сценарии, двойного он (%%), как в следующем примере:

==>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 

==> 
Смежные вопросы