我有两个文件
file1看起来像这样
M:\admin_view\GemCommonApplications\AnalysisAndDesign\prototype
M:\admin_view\GemCommonApplications\AnalysisAndDesign\GeminiCommonTables.xls
M:\admin_view\GemCommonApplications\AnalysisAndDesign\EntryCapDBObjectDetails.xls
M:\admin_view\GemCommonApplications\AnalysisAndDesign\Security
M:\admin_view\GemCommonApplications\AnalysisAndDesign\ViewDataSpecification
M:\admin_view\GemCommonApplications\AnalysisAndDesign\Security\SUCS
M:\admin_view\GemCommonApplications\Deployment\ApplicationXML
M:\admin_view\GemCommonApplications\Deployment\BuildScripts
M:\admin_view\GemCommonApplications\Deployment\Build
file2看起来像这样
M:\admin_view\GemCommonApplications\AnalysisAndDesign\prototype\Common
M:\admin_view\GemCommonApplications\AnalysisAndDesign\prototype\images
M:\admin_view\GemCommonApplications\AnalysisAndDesign\prototype\Main
M:\admin_view\GemCommonApplications\AnalysisAndDesign\prototype\stylesheet
M:\admin_view\GemCommonApplications\AnalysisAndDesign\prototype\WalkThru
M:\admin_view\GemCommonApplications\Deployment\ApplicationXML\Batch\etc
现在我想检查file1中的每一行是否是file2行中的子字符串。 我想得到一个输出,就像file1中的所有行一样,它们不是file2中任何行中的子串。
示例:
M:\admin_view\GemCommonApplications\AnalysisAndDesign\prototype
不应该在输出中,因为它是第1-5行的子字符串
M:\admin_view\GemCommonApplications\Deployment\BuildScripts
应该在输出中,因为它不是file2中的子字符串。
我尝试过findstr / v,但输出看起来很奇怪。有人可以帮忙吗?
答案 0 :(得分:1)
我不知道使用findstr搜索字符串并输出搜索词而不是匹配/不匹配行的方法。
我看到的唯一方法是在file1中针对file2测试每一行,如果找不到,则回显该行
@echo off
for /f "delims=" %%a in (file1) do (
findstr /l /b /i /m /c:"%%a" file2 >nul || echo %%a
)
对于file1中的每一行,在文件2中搜索它,如果没有找到,则回显从file1读取的行