我创建了下面的.bat文件来查看他们的PC上安装了哪些程序。
cd C:\Users\%USERNAME%\Documents
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s | findstr /B ".*DisplayName" >%USERNAME%.CSV
reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s | findstr /B ".*DisplayName" >>%USERNAME%.CSV
但是在输出中我只想显示程序的名称。目前输出是:
DisplayName REG_SZ Microsoft Office Excel MUI (English) 2010
我想以某种方式将输出视为“Microsoft Office Excel MUI(英语)2010”所以删除“DisplayName REG_SZ”所有数据行都包含单词“REG_SZ”。
任何帮助都会很棒。
谢谢
约翰
答案 0 :(得分:0)
听起来你需要做的就是在输出的任何地方用空字符串''替换字符串'DisplayName REG_SZ'。您可以使用字符串替换在批处理文件中执行此操作,如下所示:
set string=%string:DisplayName REG_SZ.=%
答案 1 :(得分:0)
你可以这样做:
@echo off
cd C:\Users\%USERNAME%\Documents
type nul > %USERNAME%.CSV
for /f "tokens=1,2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s ^| findstr /B ".*DisplayName"') do (
echo %%c >> %USERNAME%.CSV
)
for /f "tokens=1,2*" %%a in ('reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s ^| findstr /B ".*DisplayName"') do (
echo %%c >> %USERNAME%.CSV
)