Я часто использую программу командной строки 'findstr', когда пишу программное обеспечение. Это помогает мне быстро найти все файлы, которые содержат определенную строку в наборе подкаталогов. В большинстве случаев использовать 'findstr' намного быстрее, чем что-либо еще. Сегодня я столкнулся с проблемой, в которой я хотел найти строку ">, поэтому я запустил эту команду (то, что я считал довольно типичной экранированной строкой):
findstr /sic:"\">" *
И вернул это загадочное сообщение об ошибке: «Неверный синтаксис имени файла, имени каталога или метки тома».
Меняя это на:
findstr /sic:'\">' *
Работает правильно. Почему мне нужно использовать одинарные кавычки вместо двойных? Я пробежал сотни (может, тысячи?) команд findstr до того, где я без проблем избежал двойных кавычек внутри оболочки двойных кавычек. Что отличает эту конкретную строку поиска?