Batch file 怎么用?创建在txt文件中查找文本的批处理文件+;然后再细分>&燃气轮机;concats到1 output.txt。。请参阅迄今为止的代码
1谢谢你检查这个 下面的批处理文件(findit.bat)用于在单个目录中查找字符串变量Batch file 怎么用?创建在txt文件中查找文本的批处理文件+;然后再细分>&燃气轮机;concats到1 output.txt。。请参阅迄今为止的代码,batch-file,Batch File,1谢谢你检查这个 下面的批处理文件(findit.bat)用于在单个目录中查找字符串变量 for %%a in (C:\myDir\*.txt) do find "%1" >> %%a >> output.txt 命令提示符中的示例: c:> findit someword 所有包含“someword”的文件都会写入>output.txt 问题是:如何让这个包含子目录? 我已尝试添加/s开关(C:\myDir/s) 但那是行不通的。它位于\Mydir的根目录中:
for %%a in (C:\myDir\*.txt) do find "%1" >> %%a >> output.txt
命令提示符中的示例:
c:> findit someword
所有包含“someword”的文件都会写入>output.txt
问题是:如何让这个包含子目录?
我已尝试添加/s开关(C:\myDir/s)
但那是行不通的。它位于\Mydir的根目录中:(
有什么想法吗?
永远;
后藤一号,
完成之前:)根据Windows帮助,FOR命令支持/R开关递归到子目录:
对于(C:\myDir\*.txt)中的/R%%a,请找到“%1”%%a>>output.txt
编辑:更正了find命令的用法
唯一的缺点是,如果output.txt是在c:\myDir中创建的,那么它也会在output.txt中搜索,您还没有包括findit.bat。这是无意的吗?对不起,这是我第一次在这个论坛上。这是findit.bat-对于(C:\myDir*.txt)中的%%a,请查找“%1”>>%%a>>output.txt notepad output.txt谢谢,但输出仍然针对根目录。我做了一个c:>为/?>for.txt和notepadded它以从DOS的口中获得帮助,并且它同意/R开关应该工作。回到1:我认为你使用find是错误的。您在find命令中只使用了%1。您没有向它传递文件名,所以我想应该是:find“%1”%%a>>output.txt?使用(*.txt)中的“for/R%%a”do echo“%%a”对我有效(显示所有子目录中的所有文本文件)是的,它返回所有子目录中文本文件的名称,但不返回删除/R开关时在%1中指定的文本文件的内容。我在c:\myDir/s*.txt之后添加了/s开关,该开关只查找搜索字符串的一个匹配项。在享受了手工搅拌混凝土的乐趣之后,我将在明天继续努力。我宁愿和DOS战斗。。将再次更新:您使用的find命令是错误的。我更改了我的示例代码,以更正您更改的示例在将目录和文件名回显到屏幕上时非常有效。我的第一个示例非常适合输出包含搜索字符串变量%1的任何查找结果的文本文件。这没有什么“错”。我只想在子目录上执行相同的函数,并将其输出到文件中。右/右开关不工作。这就是我要问的。