我有一个我正在研究的脚本,它检查文本文件以匹配pc名称,然后匹配端口号。然后将信息注入到ini文件中以进行特定设置。我在Citrix设置中使用它。
这是我的测试脚本的一部分:
:Set_Client_Name
for /f "tokens=1-3" %%1 in ('query session %USERNAME% ^| find ">"') do set ses_num=%%3
for /f "tokens=1-3" %%1 in ('reg query "HKCU\Volatile Environment\%ses_num%" /v CLIENTNAME') do set client_name=%%3
:CHECK
findstr /i /c:%client_name% "C:\star.txt"
IF ERRORLEVEL 1 goto end
:CREATE
set port=
set parse=findstr /i /c:%client_name% "C:\star.txt"
for /f "tokens=2 delims=," %%a in ('"%parse%"') do (set port=%%a)
for /F %%G IN C:\hbowem32.ini DO (
findstr /i /c:"[0_Network Def.]"
echo Local Port=%port% >> C:\hbowem32.ini
)
:END
`
:Set_Client_Name ,:检查,并且:创建部分正常工作。
我只是对下一件作品做错了,我不确定它是什么。
我需要在hbowem32.ini中找到字符串[0_Network Def。],然后注入%port%变量。我可以将它添加到底部的ini文件中,但我需要它能够在ini的正确部分注入它。
我还想添加一个拉取客户端IP地址的部分(这是终端服务/ Citrix服务器),因此可以将其注入不同的ini /部分。我似乎无法得到它来拉取用户的工作站IP地址。它仅提取Citrix服务器的IP地址。我上面的测试脚本中不再有这个部分了,但我想我会继续问,因为我在这里已经卡住了。
感谢您的任何见解和建议。
答案 0 :(得分:0)
将/L
开关添加到FINDSTR
,以便您处理L
次迭代而不是(默认)R
egular表达式。