如何查找不包含已定义文本的文件并将其名称输出到文件中?

时间:2014-08-02 10:20:13

标签: batch-file

我有一个包含子文件夹和数千个文件的应用程序文件夹。我想编写一个批处理脚本,列出所有不包含特定文本的文件,比如SAMPLE_TEXT并将输出重定向到文件。请帮助完成脚本。

4 个答案:

答案 0 :(得分:2)

这可以帮助您 - 在顶级文件夹中启动它。

@echo off
(for /r %%a in (*) do find "SAMPLE_TEXT" "%%a" >nul || echo %%a)>file.log

答案 1 :(得分:2)

@echo off
findstr /S /M /V "SAMPLE_TEXT" *.* > output.txt

答案 2 :(得分:1)

http://tobint.com/blog/powershell-selecting-files-that-dont-contain-specified-content/的启发,这个powershell对我有用;

Get-ChildItem -include *.sql -recurse | ForEach-Object { if( !( select-string -pattern "USE " -path $_.FullName) ) { $_.FullName}} > FilesMissingUse.txt

在我的情况下,我正在搜索缺少“USE”字符串的数据库脚本(.sql文件)。

答案 3 :(得分:0)

使用grep,您可以使用

grep -L Font *.pdf > list_of_files.txt

-L开关仅返回不包含字符串“Font。”的文件。