Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 执行reg查询时,如何在输出文件的标题中包含值名称?_Batch File - Fatal编程技术网

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

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查询作为登录脚本,从用户计算机返回Office365版本

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%
在哪里?你是什么意思?