中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 13:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]请问怎么提取系统自启动文件的文件名 查看 752 回复 3
楼 主 [求助]请问怎么提取系统自启动文件的文件名 发表于 2008-05-12 14:35 ·  中国 重庆 电信
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
我用命令查看自启动项的一个分支:
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 ]
2 发表于 2008-05-12 18:01 ·  中国 重庆 联通
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
这功能不能实现了吗?
3 发表于 2008-05-12 21:23 ·  中国 湖北 武汉 联通
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
@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:"=!
)
)
4 发表于 2008-05-13 21:02 ·  中国 重庆 联通
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
19年会员
UID 86104
性别 男
状态 离线
谢谢版主!收到
论坛跳转: