我在Windows 7上无法理解 findstr 的简单行为。
我在管理员模式下运行批处理文件(如果没有,它们根本不启动),并在以下几个不同位置使用以下脚本:
@echo off
set local=%~dp0
echo %local%
REM to check that I am where I think I am
findstr /s /i /c:"stringtofind" %local%*.ext
当我从"C:\Program files\~"
或"C:\Program files (x86)\~"
中的某个位置运行此脚本时,输出包括%local%
目录之外的.ext文件和"stringtofind"
的子目录。实际上所有匹配的文件都在硬盘上。
此行为不会出现在我可以测试的每个其他位置(基本上在C:\目录中的任何其他位置),其中只显示目录和子目录中的匹配文件。
Program files
目录是否有特定的内容?
答案 0 :(得分:1)
尝试更改为
findstr /s /i /c:"stringtofind" "%local%*.ext"
在您提到的情况下,directoryname包含空格,因此findstr
正在查找多个参数。 "使用引号" groups"包含空格的字符串"成一个字符串。