Я столкнулся с проблемой в своем пакетном скрипте. Я знаю, что/I делает утверждение IF не чувствительным к кеку, но что-то похожее на то, чтобы сделать его нечувствительным к пространству?Создание пробелов в файле .bat
ответ
Там нет необходимости удалять пробелы. Просто поставить двойные кавычки вокруг оба выражений для сравнения:
if /I "%talk%"=="How are you" goto HOWAREYOU
двойных кавычки также избежать неприятностей с другими персонажами специальных для командной строки (например, КОСМИЧЕСКИХ, TAB, ,
, ;
, =
, ^
, &
, (
, )
, <
, >
, |
).
После того, как вы определили переменную talk
, вы можете использовать подстановку строк для удаления пробелов. Как следующее:
set "_temp=%talk: =%"
Затем вы используете переменную %_temp%
, чтобы сделать ваше IF
сравнение.
Подсказка: двойные кавычки вокруг полной команды set
- это просто, чтобы сделать объявление переменной более точным, избегая нежелательных пробелов.
Источник: http://www.dostips.com/DtTipsStringManipulation.php
Спасибо, что сейчас работает –
Я бы порекомендовал вам отредактировать вопрос, чтобы он стал более понятным о том, о чем вы просите. Многие недоразумения в комментариях ... И «Принять» ответ, если он решил вашу проблему. –
Вы можете использовать findstr
с conditional execution, чтобы выполнить регулярное выражение.
setlocal enabledelayedexpansion
echo(!talk! | findstr /i "how *are *you" && (
rem Match.
) || (
rem No match.
)
Delayed расширение предотвращает преждевременную оценку содержимого переменного (пользователь ввел амперсанд или любой другой). Использование echo(
с круглыми скобками предотвращает оценку ввода пользователя /?
.
- 1. Создание файла .bat
- 2. действительно сливается в .bat-файле
- 3. Xor строка в файле bat?
- 4. Настройка -classpath в файле bat
- 5. Простая логика в .bat-файле?
- 6. Escape Path в файле Bat
- 7. Случайная переменная в файле .bat
- 8. Вложенная петля в .bat-файле
- 9. Заменить текст в .bat файле
- 10. .bat - проверить строку в файле
- 11. Запуск .reg в файле .bat
- 12. .bat скрипт для удаления конечных пробелов
- 13. bat файл Создание нового файла Bat
- 14. Редактирование пробелов в текстовом файле
- 15. Создание TestNG файла .bat
- 16. Создание динамического .bat-файла
- 17. Создание файла bat
- 18. SET JAVA_HOME в файле bat bat windows не работает
- 19. Что означает символ взрыва в файле bat bat?
- 20. Как запустить несколько .BAT-файлов в файле .BAT
- 21. Создание маршрута без пробелов
- 22. SoapUI - автоматизировать mock-сервисы в файле bat
- 23. Петля в файле .bat с различными параметрами
- 24. Командные команды cmd или bat в файле
- 25. Путь относительно другого в bat-файле
- 26. Как сделать побитовое и в bat-файле?
- 27. Неопределенная ошибка переменной в файле bat
- 28. вызов неопределенной функции curl_init() в файле .bat
- 29. Если они не работают в .BAT-файле
- 30. параллельная обработка в файле bat для цикла
Чтобы убедиться, что это не проблема [XY Problem]] (http://xyproblem.info/), не могли бы вы рассказать нам, что вы пытаетесь выполнить? –
Ввод цитат вокруг выражений, содержащих пробелы, может помочь ... – aschipfl
У меня есть оператор if, настроенный следующим образом: «IF/I»% talk% '==' Howareyou 'GOTO HOWAREYOU "Я хочу сделать это там, где он может распознать это, если вы наберете «Как вы» ... Как мне это сделать? –