我正在尝试为reg查询结果创建一个txt文件,该文件看起来像这样并且正常工作
REG QUERY HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C5E637C6-5AB6-426F-B638-7DC533AE5C75} /v InstallLocation > C:\file.txt
但是我试图只在reg查询找到某些内容时才创建txt文件。
@echo off
REG QUERY HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C5E637C6-5AB6-426F-B638-7DC533AE5C75} /v InstallLocation
IF ERRORLEVEL 0 > C:\file.txt
我知道我做错了。如上所述,它确实创建了.txt,但它是空白的。我希望它发布结果,所以在这种情况下InstallLocation
答案 0 :(得分:0)
@echo off
Set "Key=HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C5E637C6-5AB6-426F-B638-7DC533AE5C75}"
Set "Val=InstallLocation"
Set "%Val%="
For /F "Tokens=1-2*" %%A in (
'REG QUERY "%Key%" /v %Val% ^|Findstr /i "%Val%"'
) Do Set %Val%=%%C
IF Defind %Val% >C:\file.txt Call Echo:%%%Val%%%
或者用
替换最后一行SetLocal EnableExtensions EnableDelayedExpansion
IF Defind %Val% >C:\file.txt Echo:!%Val%!
答案 1 :(得分:0)
在命令提示符下:
For /F "Tokens=1,2*" %A In ('Reg Query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C5E637C6-5AB6-426F-B638-7DC533AE5C75}" /V InstallLocation 2^>Nul') Do @If "%A"=="InstallLocation" >C:\file.txt Echo(%C
在批处理文件中:
@For /F "Tokens=1,2*" %%A In ('Reg Query^
"HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C5E637C6-5AB6-426F-B638-7DC533AE5C75}"^
/V InstallLocation 2^>Nul') Do @If "%%A"=="InstallLocation" >C:\file.txt Echo(%%C
请记住,通常普通用户没有C:\
的写权限