我希望编写一个批处理文件,使用find命令在父目录和所有子目录中查找字符串,并将输出打印到文本文件中,在完成后打开文本文件。我目前的代码如下:
@echo off
set /p "var1= Enter the String to Find: "
for /F "delims=" %a in ('dir /B /S *.txt') do @(find /i "%var1" "%a" 1>nul 2>&1 && find /i "%var1" "%a") >> result.txt
start result.txt
但是目前这段代码并没有将任何内容写入result.txt文件中,尽管我确定在搜索的位置中该字符串出现在多个.txt文件中。我知道肯定是语法问题,但是我似乎无法弄清楚其中的问题。
pushd %~p0
这行,然后在脚本最后插入popd
这行。它会将当前目录更改为%~p0
,这个变量会扩展为脚本所在的目录,并且在脚本结束时会切换回之前的目录。 - Eitan T