如何在执行reg查询时在输出文件的标题中包含值名称?

时间:2014-08-28 13:33:57

标签: batch-file

我使用以下reg查询作为登录脚本从用户计算机返回Office365的版本。

Reg Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - en-us" /v DisplayVersion > "sharename\%ComputerName%.txt"

其中,sharename是存储日志的网络位置。我想将%ComputerName%。%DisplayVersion%添加到每个txt文件的标题中,以便我可以轻松查看人们所使用的版本。这可能吗?或者还有另一种方法来实现这一目标吗?

先谢谢你的帮助, 斯图尔特

2 个答案:

答案 0 :(得分:0)

您可以连接到远程注册表并从服务器本地保存输出,而不是在每台本地计算机上运行reg query命令并将输出保存在共享位置。下面的代码将从input.txt中获取远程主机名,并查询注册表并以hostname.txt格式保存。如果要将输出保存为%hostname%,%reg_query_output%的单个文本,则可以修改代码。

for /f %%i in (input.txt) do (  
    Reg Query "\\%%i\HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - en-us" /v DisplayVersion >%%i.txt
    )

干杯, ģ

答案 1 :(得分:0)

是的,可能,你需要先将DisplayVersion设置为一个变量,这里是下面的建议代码:

@echo off
for /f "tokens=2,*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - en-us" /v DisplayVersion ^| findstr "DisplayVersion"') do set DisplayVersion=%%b
echo %computername%.%DisplayVersion% > "sharename\%computername%.%DisplayVersion%"

我没有测试过它,但它应该可以运行