Использование команды pipe в командном файле

Я пытаюсь написать командный файл, который ищет устройства, используя devcon, а затем запускает "devcon enable" на этих устройствах.

Мой командный файл выглядит так:

for /f "tokens=1 delims=:" %%i in ('devcon find *VENDER_INFO* ^| findstr /C:"DEVICEINFO"') do devcon enable "@"%%i

Вы можете игнорировать "VENDER_INFO" и "DEVICEINFO", так как я просто отредактировал их, чтобы упростить чтение команд.

Когда я запускаю этот файл.bat, кажется, что

devcon find *VENDER_INFO* ^| findstr /C:"DEVICEINFO"

Команда запускает только первую часть и не может передать результаты через

findstr /C:"DEVICEINFO"

Можете ли вы увидеть что-то не так с моим файлом.bat? Почему игнорируется канал и вторая часть команды find? Я попытался удалить "^", но это не удается и говорит "|" было неожиданным

1 ответ

find Команда требует двойных кавычек.

Прочитайте помощь с этим:

find /?
Другие вопросы по тегам