大家好,我需要批处理脚本方面的一点帮助...来自包含以下内容的文件 something.txt
data
data
LastLogedUser=John.Doe
data
data
我想找到字符串 LastLogedUser= 并在其后附加文本(在本例中为“John.Doe”,就像其他文件副本中的变量一样……像这样,但我的代码有些错误:
for /F "delims=" %%a in ('findstr /I "LastLogedUser=" something.txt') do set "uniuser=%%a"
echo User is: %uniuser%
copy fpr_log.txt c:\fpr_log%uniuser%.txt
答案1
我的代码有问题
findstr /I "LastLogedUser=" something.txt
返回文件中的整行:
> findstr /I "LastLogedUser=" something.txt
LastLogedUser=John.Doe
因此你的for
循环需要用作=
分隔符并获取第二令牌以便提取John.Doe
。
我还添加了一些"
s,以防用户名中有空格......
更正的批处理文件:
@echo off
setlocal
for /F "tokens=2 delims==" %%a in ('findstr /I "LastLogedUser=" something.txt') do set "uniuser=%%a"
echo User is: %uniuser%
copy fpr_log.txt "c:\fpr_log%uniuser%.txt"
endlocal
进一步阅读
答案2
您的意思是获取变量中的当前文本并在之后添加文本:
variable: exvariable
append: john.doe
result: exvariablejohn.doe
? 尝试:
for /f "tokens=*" %%i in ('echo %variable%') do set variable=%%iappendtext
我说得对吗?