Board logo

标题: [求助]请问怎么提取系统自启动文件的文件名 [打印本页]

作者: clian76     时间: 2008-5-12 14:35    标题: [求助]请问怎么提取系统自启动文件的文件名

我用命令查看自启动项的一个分支:
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

出来的是一大串,如:

-------------------------------------------------------------------------------------------------------
! REG.EXE VERSION 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
    DAEMON Tools-2052        REG_SZ        "C:\Program Files\D-Tools\daemon.exe"  -lang 2052
    系统初始化        REc:\program files\gamemenu\Update.Exe
    Entryssp        REG_SZ        C:\Program Files\Client\ssp.exe
    times        REG_SZ        D:\Sysset\Menu\tmg.exe
    antitmp        REG_SZ        D:\Sysset\Menu\antitmp.exe
    NvCplDaemon        REG_SZ        RUNDLL32.EXE C:\WINDOWS\system32\NvCpl.dll,NvStartup
-------------------------------------------------------------------------------------------------------
现在我只想要里面的纯文件名,不包括路径在里面.。照上面的结果就应是:
-----------------------------------------------------------
daemon.exe
Update.Exe
ssp.exe
antitmp.exe
RUNDLL32.EXE
-------------------------------------------------------------
可以只要EXE扩展名的,请问大侠们有什么办法??

[ Last edited by clian76 on 2008-5-12 at 04:43 PM ]
作者: clian76     时间: 2008-5-12 18:01
这功能不能实现了吗?
作者: lxmxn     时间: 2008-5-12 21:23

@echo off & SetLocal EnableDelayedExpansion

for /f "delims=/" %%a in ('wmic startup where "Location='HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run'" get Command^|more +1') do (
        for /f "tokens=*" %%b in ("%%~a") do (
                set name=%%~nxb
                echo.!name:"=!
        )
)

作者: clian76     时间: 2008-5-13 21:02
谢谢版主!收到