我在编写软件时经常使用命令行程序“findstr”。它帮助我在一组子目录中快速定位包含特定字符串的所有文件。在很多情况下,使用“findstr”比其他任何东西都要快得多。今天我遇到了一个问题,我想找到字符串">,所以我运行了这个命令(我认为这是一个相当典型的转义字符串):
findstr /sic:"\">" *
Run Code Online (Sandbox Code Playgroud)
并得到这条神秘的错误消息:“文件名、目录名或卷标语法不正确。”
将其更改为:
findstr /sic:'\">' *
Run Code Online (Sandbox Code Playgroud)
工作正常。为什么我需要使用单引号而不是双引号?在我在双引号包装器中转义双引号之前,我已经运行了数百(也许数千?)个 findstr 命令,没有任何问题。是什么让这个特定的搜索字符串如此不同?