2

我正在尝试创建一个批处理文件,它将读取和替换另一个文件中指定的文本行/字符串。

例子:

我有一个文件位于\\company.local\netlogon\data.txt包含以下内容:

JohnDoe=157 JoeSmith=104 JoeBloggs=514

我想在等号之后读取那些字符串,所以基本上作为一个登录脚本,我可以搜索包含 的行%username%,然后将等号之后的数字读入一个变量,例如%number%.

所以如果JohnDoe要登录,它会搜索他的名字并阅读157

然后我希望能够在另一个文件中搜索一个字符串并写入一个特定的字符串,所以它会搜索Extension=并在它之后写入157

类似的东西Extension=%number%会读入文件作为Extension=157.

非常感谢任何帮助。

谢谢。

4

1 回答 1

1

不确定您是如何格式化文件的,但是如果您将每个条目都作为新行,这将起作用。

set extlist=P:\ath\to\extensionlist.txt
set userdata=P:\ath\to\directory\%username%.txt

for /f "tokens=1,2 delims==" %%a in (%extlist%) do if /I %%a.==%username%. set ext=%%b

ren %userdata% %username%.txt.bak
for /f "tokens=1,2 delims==" %%a in (%userdata%.bak) do if /I %%a.==Extension. (echo Extension^=^%ext%>>%userdata%) else (echo %%a^=^%%b>>%userdata%)
del /Q %userdata%.bak
于 2012-12-27T16:09:54.310 回答