#batch-file #cmd #findstr
#пакетный файл #cmd #findstr
Вопрос:
После поиска я нашел этот фрагмент кода, который я, конечно, изменил для работы с остальной частью моего кода:
set /p answ=
echo.%answ%|findstr /C:":name" >nul 2>amp;1 amp;amp; @echo %answ::name=%> Libraryuser1.lib amp; pause || echo Not found. amp; pause amp; goto chat
Однако при выполнении этой команды происходит сбой командной строки. Я создал отдельный файл, чтобы проверить, что было не так, но, похоже, все работает нормально, и все, что я сделал, это заменил переменные и тому подобное:
SET /p _test=
:: For Above: 12345:abcabc
echo.%_test%|findstr /C:":ab" >nul 2>amp;1 amp;amp; @echo %_test::ab=%> Libraryuser1.lib amp; pause || echo Not found. amp; pause
Я что-то делаю не так? Есть ли другая команда, которую я могу использовать, чтобы найти что-то во входных данных?
Комментарии:
1. Используйте скобки и пробелы. У вас не может быть переменных, расширяющихся в число, и не иметь пробелов вокруг символов перенаправления. Скобки указывают Windows, как группировать ваши команды.
Ответ №1:
Не проверяя ваш код, я добавил несколько важных круглых скобок.
set /p answ=
echo.%answ%|findstr /C:":name" >nul 2>amp;1 amp;amp; (@echo %answ::name=%> Libraryuser1.lib amp; pause) || (echo Not found. amp; pause amp; goto chat)