mango apple
56.88 97.22
rat cat
bull dog
这是a.txt
中的文字。我需要一个批处理脚本来一次处理每个单词
即将其读取并存储在需要进一步处理的变量中
例如:
芒果在%var1%中设置,接下来应该处理
苹果在%var2%
56.88 in%var1%。
再次97.22 in%var2%... etc。
答案 0 :(得分:0)
您的文字位于文字文件中。记事本只是一个文本编辑器。不确定我是否真的理解你的问题,但这是我认为你试图做的一次尝试。
@ECHO OFF
FOR /F "delims=" %%G IN (a.txt) DO (
FOR %%I IN (%%G) DO ECHO %%I
)
答案 1 :(得分:0)
这应该工作
@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!
)
)
答案 2 :(得分:0)
以下内容将文本文件a.txt
中的每个项目存储到两个嵌套循环中的变量ITEM
中。外部每行读取文件行;内部元素获取单个项目,由 SPACE , TAB ,,
,;
或=
分隔。如果一行中只有一个项目,甚至超过两个项目,它也可以工作。由于变量在代码块(循环)中被更改和读取,因此%ITEM%
之类的扩展(读取)不起作用;您需要启用延迟扩展并读取!ITEM!
之类的变量。输入setlocal /?
和cmd /?
以获取更多相关信息。
@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
对于此方法,假设文本文件中的项目不包含以下任何特殊字符:?
*
%
!
{{1} } /
\
:
(
)
&
^
|
<
{{1} }。如果发生这种情况,它将失败。