Batch file 如何在具有多行的.txt文件上使用字符串操作
我的目标是将字符串分配给每个变量,每个字符串来自不同的行(来自txt文件) txt的示例:Batch file 如何在具有多行的.txt文件上使用字符串操作,batch-file,Batch File,我的目标是将字符串分配给每个变量,每个字符串来自不同的行(来自txt文件) txt的示例: 1 2 3 我尝试通过使用for命令将txt文件的type输出赋值给一个变量 FOR /F "delims=" %%i IN ('type "textfile.txt"') DO set testingVariable=%%i %测试变量%时,我尝试了如下字符串操作 set newVariable=%testingVariable:~3,1% 我希望结果是2,我得到的唯一结果是所有3个数字都是0,或
1
2
3
我尝试通过使用for命令将txt文件的type
输出赋值给一个变量
FOR /F "delims=" %%i IN ('type "textfile.txt"') DO set testingVariable=%%i
%测试变量%时,我尝试了如下字符串操作
set newVariable=%testingVariable:~3,1%
我希望结果是2
,我得到的唯一结果是所有3个数字都是0,或者什么都没有
有没有简单的解决办法
(如果可能的话,尽量多解释,因为我还是个初学者)你想把每一行都分成一个单独的变量吗?您需要一个柜台:
setlocal enabledelayedexpansion
set c=0
FOR /F "delims=" %%i IN ('type "textfile.txt"') DO (
set /a c+=1
set testingVariable[!c!]=%%i
)
set testingvariable[
。。。你需要
注意:emty行被跳过您能解释一下enabledelayedexpansion在这里做了什么,以及我为什么需要它吗?因为正如我所说的,我是一个初学者,我不理解延迟扩展的功能以及我为什么需要它。下面是一个简短的描述。如果你想要更深入的了解,请查看评论中的链接。应该足够让你的头冒烟了。我可以问一下为什么最后一行以方括号结尾吗?只是一种习惯<代码>设置用户显示以
用户
开头的所有变量,如用户域
,用户名
,用户档案
set testingvaraible[
显示以testingvaraible[
开头的所有变量testingvariable
在没有[
的情况下应足够唯一,但其他变量(较短)变量名可能不够唯一,因此我使用尽可能多的扩展名称-正如我所说:这只是一个习惯。哦!好的,一开始我没有意识到最后一行实际上是以“testingvariable[”开头列出变量,非常感谢!