Batch file 批量设置=log.txt

Batch file 批量设置=log.txt,batch-file,set,logging,text-files,Batch File,Set,Logging,Text Files,我有一个log.txt文件,其中包含: MyName 我的批次: @echo off set name= [log.txt] 在[log.txt]部分,它应该从log.txt文件中读取'MyName',将其设置为'name' 怎么做?在cmd.exe中,只有这种丑陋的方式: @echo off for /f "usebackq tokens=* delims=" %%i in ("log.txt") do ( set name=%%i ) 你也可以使用 set /p name=&l

我有一个log.txt文件,其中包含:

MyName
我的批次:

@echo off
set name= [log.txt]
在[log.txt]部分,它应该从log.txt文件中读取'MyName',将其设置为'name'


怎么做?

在cmd.exe中,只有这种丑陋的方式:

@echo off
for /f "usebackq tokens=* delims=" %%i in ("log.txt") do (
    set name=%%i
)
你也可以使用

set /p name=<log.txt

set/p name=Dunno:-)。这两种方法实际上都可以工作,但对于包含多行的文件,效果不同。与bash相比,我们不能经常使用cmd向stdin提供文件,我记得这一次。顺便说一句,你可以从那里削减usebackq和tokens选项,因为你没有使用它们。@Joey
tokens=*delims=
作为一个单独的
delims=
@Joey:如果你分析长行,
tokens=*delims=
变量只占用约70%的内存time@jeb:我刚测试过,但无法识别明显的时差。你的长行到底是什么?@Joey:我用7000个字符的行长度进行了测试,讨论在