batch-file - 条件 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 函数正在工作,但它没有在 findstr 函数之后打印值。实际上,它可以正确显示 rule.txt 中的所有数据!当我写 回声 %%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
)
但是,您的预期结果与您的 findstr 不匹配您select
可能是打算将每一行输出到文件吗?如果是这样,那么这将做到这一点。:
@echo off
for %%a in (somefile.txt) do (
mysql --user u --password p --database d -e "%%a">>Query.txt
echo %%a
)
推荐阅读
- c++ - Correct input method for array of char?
- ms-access - 如何根据多列对 Access 数据表视图中的列进行排序?
- ms-access - 它是一个访问错误吗?我的 txtBox 表单过滤问题在拆分数据库中输入值
- powershell - How to properly set a variable from PowerShell in Windows batch file?
- jquery - jQuery Calendar 退房日期 +2
- android - 如何为字体创建子文件夹?
- java - 清单广播接收器未触发
- powershell-2.0 - 如何在执行期间转到 PowerShell 中的任何特定行
- c# - ASP.NET Web API 2.0 管道和 ASP.NET Core Web API 管道的区别
- vue.js - 无法在 Vuex 中的其他操作中反跳操作