条件For循环在批处理文件中不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了条件For循环在批处理文件中不起作用相关的知识,希望对你有一定的参考价值。

条件For循环在批处理文件中不起作用

当我在for循环中写条件时,条件正在工作但是在条件之后我想在for循环中打印值但它没有显示值,下面是我的脚本

for /f "delims= " %%a in (rule.txt) do (
 findstr select rule.txt(
 mysql  --user u --password p --database d -e  "%%a">>Query.txt
 )
 echo %%a
 )

rule.txt中的数据

select 
replace
direct

在for循环中,findstr函数是woking但是它没有在findstr函数之后打印值。实际上,它将能够显示rule.txt中的所有数据!当我写echo %% a?但它没有显示预期的结果?我不明白问题出在哪里可以有人帮助我

预期结果:

select 
replace
direct
答案

你需要运行findstr作为循环的一部分,以便将结果分配给令牌,在这种情况下是%%a

@echo off
for /f %%a in ('type somefile.txt ^|findstr "select"') do echo %%a

我没有理解你为什么要搜索一个确切的单词,然后只是将它添加到输出中,因为你可能只是将单词添加到字符串中,但仍然如此。我认为这就是你的意图:

@echo off
for /f %%a in ('type somefile.txt ^|findstr "select"') do (
  mysql  --user u --password p --database d -e  "%%a">>Query.txt
  echo %%a
)

然而,您的预期结果与select的您的findtr不匹配您是否意味着将每行输出到文件?如果是这样,那么这样做:

@echo off
for %%a in (somefile.txt) do (
  mysql  --user u --password p --database d -e  "%%a">>Query.txt
  echo %%a
)

以上是关于条件For循环在批处理文件中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Liquid - if contains 语句在 for 循环中不起作用

for 循环中的代码在 ngOnInt() 中不起作用

for循环后的最后一个过程语句在pl sql中不起作用

简单的for循环在python中不起作用

实时matplotlib图在循环中不起作用[重复]

为啥这种 for 循环并行化在 Python 中不起作用?