Batch file 执行reg查询时,如何在输出文件的标题中包含值名称?
我使用以下reg查询作为登录脚本,从用户计算机返回Office365版本Batch file 执行reg查询时,如何在输出文件的标题中包含值名称?,batch-file,Batch File,我使用以下reg查询作为登录脚本,从用户计算机返回Office365版本 Reg Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - en-us" /v DisplayVersion > "sharename\%ComputerName%.txt" 其中sharename是存储日志的网络位置。我想将%ComputerName%。%DisplayVersion%添加到每个tx
Reg Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - en-us" /v DisplayVersion > "sharename\%ComputerName%.txt"
其中sharename是存储日志的网络位置。我想将%ComputerName%。%DisplayVersion%添加到每个txt文件的标题中,以便轻松查看人们使用的版本。这可能吗?还是有其他方法可以实现这一点
提前感谢您的帮助,
Stuart您可以连接到远程注册表并从服务器本地保存输出,而不是在每台本地计算机上运行reg query命令并将输出保存在共享位置。下面的代码将从input.txt中提取远程主机名,并查询注册表并以hostname.txt格式保存输出。如果要将输出保存为具有%hostname%,%reg\u query\u output%的单个文本,您可以修改代码
for /f %%i in (input.txt) do (
Reg Query "\\%%i\HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\O365ProPlusRetail - en-us" /v DisplayVersion >%%i.txt
)
干杯,
是的,这是可能的,您需要先将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%"
我还没有测试过它,但它应该可以工作您需要
%ComputerName%.%DisplayVersion%
在哪里?你是什么意思?