我必须在一个洞项目中替换字符串内的某个字符串(撇号内的任何出现)。我正在使用的工具是"查找和替换工具" (fnr.exe,https://findandreplace.codeplex.com/)。我正在使用Microsoft Windows。
要替换的字符串位于C:\ MyDirectory中的.cls文件(Smalltalk)中。但是有一些文件夹包含应该从替换(NoSearch)中排除的文件。因此我使用以下命令:
fnr.exe --cl --dir "C:\MyDirectory" --fileMask "*.cls" --excludeFileMask ".\NoSearch\*" --includeSubDirectories --useRegEx --showEncoding --find "(?<='.*)MyString(?=.*')"
(目前只发现,确认匹配是否正确;我用代理人替换了实际路径)
但该命令还匹配&#34; C:\ MyDirectory \ NoSearch&#34;中的文件。所以我也尝试了excludeFileMask的以下值:
.\NoSearch\*.*
.*\\NoSearch\\.*
*NoSearch*
这些都不起作用。我必须基本上不知道excludeFileMask-Command是如何工作的。我做错了什么?
编辑:
似乎掩码只能用于文件名本身,没有任何目录。幸运的是,我想要排除的所有文件都有一些前缀来识别它们。使用它们与通配符一起工作。例如,NoSearchPrefix_*.*
排除所有以&#34; NoSearchPrefix _&#34;开头的文件。