批处理文件如何在Windows的启动列表中列出自己?
它是否来自注册表并不重要。
如果使用注册表,请同时给出删除注册表条目的命令。
这应该可以在从ME到7的所有版本下工作。
否则只需要XP/Vista/7。
谢谢。
发布于 2009-07-20 17:16:11
我不太明白你的意思,但是如果你想要的是一种在启动时执行命令/批处理的简单方法,为什么不把它放在All Users\Startup文件夹中呢?
要以编程方式做到这一点,就意味着将一个文件复制到该目录。
例如,在Windows Vista中,该目录的完整路径为:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup(您可以使用%ProgramData%或%AllUsers%\ProgramData替换行首,以使其更具全局性-例如,当Windows安装在D:上时)。
发布于 2009-08-28 13:45:33
我不使用windows7 (可能很快就会在测试版中得到检查),但我认为从注册表中获取正确的位置总是更好的,因为Windows版本是本地化的。我自己的C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup Démarrer\Programmes\Démarrage"在这里看起来更像是“C:\Documents\All Users\Menu Démarrer\Programmes\Démarrage”(当然,来自XP )“
-10对于使用硬编码目录名称的程序员(是的,一些安装程序会在安装时创建英语/不同语言的目录)。
-1 \f25 Microsoft -1本地化目录名称...
无论如何,这里有一个片段,至少对XP有效:
commonstartup.cmd
@echo off
for /F "tokens=3 delims= " %%k in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup"^| findstr /i /c:"Common Startup"') do set StartUp=%%k
echo StartUp="%StartUp%"___Notes_____
1:因为来自Windows2000和XP的reg.exe有不同的命令参数,可能W7也改变了,所以在设置和忘记之前测试它。
reg 2:要获取所有系统目录的列表,请发出命令: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"并读取行。如果W7有如此之大的不同,您可能想要更改的“通用启动”。
3:如果您想让个人/用户列表仅供某些用户使用,HKEY_CURRENT_USER中也会有个人/用户列表。
发布于 2016-07-02 12:53:56
xcopy C:\Users\NAME\Desktop\Batch.bat C:\ProgramData\Microsoft\ windows \"Start Menu"\Programs\StartUp /O /X /E /H /K是适用于windows 10的正确命令。只需将第二个路径更改为您的版本,并记住无论何时有空格,请在空格之前和之后的单词之前放置一个“。但是,它必须在管理员中打开,所以经过一些研究,我发现可以使用批处理文件来启动不同的批处理文件,并在管理模式下运行它: runas /user:administrator C:\data\mybatchfile.bat应该可以工作!
https://stackoverflow.com/questions/1154701
复制相似问题