Batch file 从.txt收集数据并使用批处理进行处理
这是Batch file 从.txt收集数据并使用批处理进行处理,batch-file,process,Batch File,Process,这是a.txt中的文本。我需要一个批处理脚本一次处理每个单词 i、 e读取它并将其存储在需要进一步处理的变量中 例如: 芒果将在%var1%中设置,并应在下一步进行处理 苹果在%var2% 56.88 in%var1% 同样是97.22%var2%…等等 您的文本位于文本文件中。记事本只是一个文本编辑器。不确定我是否真的理解了你的问题,但这里有一个尝试,我认为你正在尝试做 mango apple 56.88 97.22 rat cat bull dog 这应该行得通 @
a.txt
中的文本。我需要一个批处理脚本一次处理每个单词
i、 e读取它并将其存储在需要进一步处理的变量中
例如:
您的文本位于文本文件中。记事本只是一个文本编辑器。不确定我是否真的理解了你的问题,但这里有一个尝试,我认为你正在尝试做
mango apple
56.88 97.22
rat cat
bull dog
这应该行得通
@ECHO OFF
FOR /F "delims=" %%G IN (a.txt) DO (
FOR %%I IN (%%G) DO ECHO %%I
)
下面将文本文件
a.txt
中的每个项存储到变量item
中的两个嵌套循环中。外部一个读取每行的文件行;内部的一个获取单个项,用空格、制表符、、、分隔代码>或=
。如果一行中只有一个项目,甚至有两个以上的项目,它也可以工作。由于变量在代码块(循环)中更改和读取,像%ITEM%
这样的扩展(读取)不起作用;您需要启用延迟扩展并读取变量,如!物品代码>然后。键入setlocal/?
和cmd/?
以了解有关该操作的详细信息
@echo off
cls
setlocal enabledelayedexpansion
for /f "tokens=1,2" %%a in (a.txt) do (
set var1=%%a
set var2=%%b
echo var1 values is - !var1!
echo var2 values is - !var2!
)
)
对于这种方法,假定文本文件中的项不包含以下任何特殊字符:?
*
%
代码>/
:
(
)
^
“
。如果出现这种情况,它将失败。@Vivek GUTHIKONDA,如果您觉得我的答案有帮助,请投票支持,如果它解决了您的问题,请接受我的答案,其他人将更容易快速找到类似问题的答案。
@echo off
setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq eol=| tokens=*" %%L in ("a.txt") do (
for %%I in (%%L) do (
set "ITEM=%%I"
rem process each ITEM:
echo Item: !ITEM!
)
)
endlocal