V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mrhuiyu
V2EX  ›  问与答

请问,如何让自解压程序内的文件放到启动目录?

  •  
  •   mrhuiyu · 2016-09-15 12:07:50 +08:00 · 1688 次点击
    这是一个创建于 2983 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写了一个 vsb 和 cmd 的脚本,打包成了自解压程序可以运行后自动运行脚本,现在想让脚本移动到开机启动,但是公司的电脑用户名不一样,没法绝对路径复制,请问有什么办法可以用命令自动放到当前用户启动目录?
    第 1 条附言  ·  2016-09-15 17:18:30 +08:00
    已经写好了。谢谢大家~
    15 条回复    2016-09-16 08:56:40 +08:00
    xenme
        1
    xenme  
       2016-09-15 12:11:14 +08:00 via iPhone   ❤️ 1
    解压完记得可以自动执行一个脚本或者批处理,然后自动移动就好了
    mrhuiyu
        2
    mrhuiyu  
    OP
       2016-09-15 12:13:44 +08:00
    @xenme 我设置了,自动解压到指定( C 盘根目录)目录后运行我要的脚本。但是移动的话不知道怎么获取到当前用户的开机目录。
    xenme
        3
    xenme  
       2016-09-15 12:17:45 +08:00 via iPhone   ❤️ 1
    环境变量。
    C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    如果还有可能不同系统等批处理检查下就可以了。
    mrhuiyu
        4
    mrhuiyu  
    OP
       2016-09-15 12:20:16 +08:00
    @xenme 谢谢。
    skydiver
        5
    skydiver  
       2016-09-15 12:33:58 +08:00 via Android   ❤️ 1
    @xenme
    @mrhuiyu 应该用%APPDATA% 这个变量,因为你没法确定用户目录没改过
    skydiver
        6
    skydiver  
       2016-09-15 12:34:57 +08:00 via Android   ❤️ 1
    @skydiver %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
    mrhuiyu
        7
    mrhuiyu  
    OP
       2016-09-15 12:40:14 +08:00
    @skydiver 完整的是 C:\Users\%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup ?这样?
    skydiver
        8
    skydiver  
       2016-09-15 13:13:55 +08:00 via iPad   ❤️ 1
    @mrhuiyu 我发的就是完整的。不要自己拼盘符和路径,%APPDATA%就是指向 roaming 文件夹
    exch4nge
        9
    exch4nge  
       2016-09-15 15:38:29 +08:00   ❤️ 1
    windows 键 + R 在运行里写 "shell:startup" (不包括引号)就能打开个人用户的 startup 目录,如果是所有用户的 startup 目录的话写 "shell:common startup" 就可。
    Arnie97
        10
    Arnie97  
       2016-09-15 16:11:48 +08:00 via Android   ❤️ 1
    @exch4nge 这个才是正解。 Startup 目录的位置是可以在注册表中单独修改的,不一定会在 6 楼所述的位置
    skydiver
        11
    skydiver  
       2016-09-15 19:30:40 +08:00
    @exch4nge
    @Arnie97 但是这是 shell 命令,并不能放在脚本里用
    skydiver
        12
    skydiver  
       2016-09-15 19:33:35 +08:00
    看了下这个页面 https://technet.microsoft.com/en-us/library/cc749104(v=ws.10).aspx
    里面提到了 startup 目录的环境变量是 CSIDL_STARTUP

    所以还是直接写 %CSIDL_STARTUP% 比较靠谱
    skydiver
        13
    skydiver  
       2016-09-15 19:37:30 +08:00
    @skydiver 啊 看错了,这个并不是环境变量……这种变量应该需要通过一些方法才能取到……不懂 windows 编程,只能帮 lz 到这了
    exch4nge
        14
    exch4nge  
       2016-09-15 20:56:50 +08:00
    @skydiver
    @mrhuiyu

    不好意思,没有细看题目。我搜到了 VBS 脚本,看下面链接中的答案。

    http://stackoverflow.com/questions/3525462/how-to-retrieve-startup-folder-location-in-64-bit-windows
    mrhuiyu
        15
    mrhuiyu  
    OP
       2016-09-16 08:56:40 +08:00
    @exch4nge 额。。。但是我用%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup 这个来释放程序到开启文件夹的。。。。似乎可以使用= =
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1248 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:12 · PVG 02:12 · LAX 10:12 · JFK 13:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.