Batch file “变量”文件夹中的Findstr

Batch file “变量”文件夹中的Findstr,batch-file,Batch File,我对批处理文件编程非常陌生,堆栈溢出用户得到了很多帮助。我的问题几乎解决了。现在,让我的脚本正常工作只缺少一件事 for /f "tokens=1,* delims=: " %%i in ('type "C:\dev\1597\AssayInfo.txt" ^| findstr /i CouID') do set "number=%%j" echo %number% 在这部分代码中,我需要能够找到没有文件夹1597的AssayInfo.txt。在我的例子中,我会有很多随机生成数字的文件夹,它们

我对批处理文件编程非常陌生,堆栈溢出用户得到了很多帮助。我的问题几乎解决了。现在,让我的脚本正常工作只缺少一件事

for /f "tokens=1,* delims=: " %%i in ('type "C:\dev\1597\AssayInfo.txt" ^| findstr /i CouID') do set "number=%%j"
echo %number%

在这部分代码中,我需要能够找到没有文件夹1597的AssayInfo.txt。在我的例子中,我会有很多随机生成数字的文件夹,它们都有一个Assayinfo.txt,但是如果我尝试运行没有1597路径的代码,它只会说找不到文件

我们已经经历了这些,但无论如何:

在找到文件后将其实际设置为变量:

@echo off
setlocal enabledelayedexpansion
for /f %%i in ('dir /s /b /a-d AssayInfo.txt') do (
  for /f "tokens=2" %%a in ('type "%%~fi" ^| findstr /i "CouID"') do set "number=%%a"
    echo Found number !number! in file "%%~fi"
)

1.无需使用
type
,只需将该文件用作
findstr`命令的参数,如
findstr/I“CouID”“C:\dev\1597\AssayInfo.txt”
。2.在(“C:\dev\*”)中为/D%%j环绕一个循环
查找包含文本文件的目录,然后进一步使用
C:\dev\%%~j\analysisinfo.txt
。@aschipfl如果可能的话,你能给我一个如何工作的示例吗?再一次,对于那些能看到它的人来说!可能重复的@Itwasme Hmmm用于?:)嗯,在删除的问题中,我的第一个提示是将findstr与/s选项一起使用,这避免了
dir/b/s
和类型@joao似乎很犹豫不决。@LotPings是的,带有搜索选项的findstr确实避免了类型和目录,我这样做的唯一原因是,如果有1000个其他文件,findstr会花很长时间搜索每个文件,直到找到匹配项。@GerhardBarnard嘿,我真的很感谢你给我的所有帮助,我知道这个问题不是最好的,但你解决了。希望有一天我能再次感谢你的好意!没有问题@joao