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

怎样让 windows 开机的时候不弹出大黑框自动运行几条 cmd 命令?

  •  
  •   ldz · 2019-08-04 13:30:37 +08:00 · 5399 次点击
    这是一个创建于 1940 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想开机的时候自动用 rclone 挂载 google drive
    写了个 bat 脚本 大致长这样

    set HTTP_PROXY=http://127.0.0.1:1080
    start rclone mount remote:/ L: --vfs-cache-mode off
    start rclone mount remote1:/ M: --vfs-cache-mode off

    手动执行这个 bat 是可以的,但是会弹出两个 cmd 窗口

    网上查了下用 vbs 脚本调用 bat 脚本,第二个参数 0 就可以不弹出大黑框
    ref : https://docs.microsoft.com/en-us/previous-versions//d5fk67ky(v=vs.85)

    于是照样子写了一个
    大致长这样
    CreateObject("Wscript.Shell").Run "mountGoogleDrive.bat", 0, True

    可是还是会弹出大黑框
    请问有啥办法能解决的么?

    我大致分析了下可能是我 bat 脚本里的 start 命令导致的?
    但是去掉 start 挂载并不成功
    请各位大佬帮忙分析下

    谢谢
    第 1 条附言  ·  2019-08-04 14:08:19 +08:00
    现在暂时可行的方案是把两个 mount 命令拆出来到两个 bat,然后搞两个 vbs 去调用这两个 bat
    再把两个 vbs 放到启动目录下
    但是总感觉这个方案有点挫,不太能扩展
    25 条回复    2020-08-20 11:26:41 +08:00
    ldz
        2
    ldz  
    OP
       2019-08-04 13:38:44 +08:00
    @wangxiaoaer 试过这个方案了,就是我主贴里说的第二个参数设置成 0 的方案
    仔细查了下运行一条 mount 是可以的
    运行两个 mount 就不行了,我估计和 start 命令有关
    Phant0m
        3
    Phant0m  
       2019-08-04 13:42:00 +08:00 via iPhone
    用 cscript /nologo start.vbs 这样调用没用黑框
    ldz
        4
    ldz  
    OP
       2019-08-04 13:45:02 +08:00
    @Phant0m 你的意思是用 cscript 调用 vbs 然后 vbs 在调用 bat?
    那要开机运行的话是不是还要写一个 bat 里面写 cscript /nologo start.vbs 》
    Phant0m
        5
    Phant0m  
       2019-08-04 13:47:42 +08:00 via iPhone
    @ldz 不是,用 vbs 调用 mountGoogleDrive.bat ,不用再写个 bat 调用 vbs 了。
    snw
        7
    snw  
       2019-08-04 14:03:18 +08:00
    //把 cmd 窗口改成白底黑字,透明度调到最低,这样就不会弹大黑框了(狗头

    说正经的,试试看直接用 vbs 调用 rclone 呢?
    ldz
        8
    ldz  
    OP
       2019-08-04 14:05:55 +08:00
    @snw 试过了
    但是因为我挂载 rclone 脚本要设置一个 http_proxy 的环境变量
    尝试在 vbs 里设置这个环境变量,不成功
    现象就是能挂载,但是会显示 io 错误
    ldz
        9
    ldz  
    OP
       2019-08-04 14:06:57 +08:00
    @Phant0m 但是我想要开机自动运行这个 vbs 啊
    我的理解要开机自动运行不还得套一层 bat, 然后放到启动目录下?
    Phant0m
        10
    Phant0m  
       2019-08-04 14:10:04 +08:00 via iPhone
    @ldz 开机运行直接调用 vbs 也可以,注意路径问题就行了
    KyonLi
        11
    KyonLi  
       2019-08-04 14:38:47 +08:00 via iPhone
    z919126592
        12
    z919126592  
       2019-08-04 15:29:46 +08:00 via Android
    记得某个 bat 转 exe 的工具可以设置静默运行 以前用来在后台检查更新
    ldz
        13
    ldz  
    OP
       2019-08-04 15:37:49 +08:00
    @Phant0m 那这行应该写在哪里呢?
    原贴里你写的要调用 vbs
    mxalbert1996
        14
    mxalbert1996  
       2019-08-04 15:38:36 +08:00 via Android
    @ldz 用任务计划直接执行命令啊
    ldz
        15
    ldz  
    OP
       2019-08-04 15:52:38 +08:00
    @mxalbert1996 计划任务还是有大黑框
    vocaloid
        16
    vocaloid  
       2019-08-04 15:53:08 +08:00
    1.用计划任务,勾选使用最高权限运行
    2.python 写个脚本,然后用 pyinstaller -F -w 参数生成一个 exe,之后运行这个程序,不会弹框
    vocaloid
        17
    vocaloid  
       2019-08-04 15:53:49 +08:00
    @vocaloid #16 不使用最高权限运行我记得就会有框框
    vocaloid
        18
    vocaloid  
       2019-08-04 15:58:12 +08:00
    疏忽了...要同时勾选“使用最高权限运行”和“隐藏"

    ![]( https://sm.ms/image/xlYQhsFpk5vEJMb)
    rebecca554owen
        19
    rebecca554owen  
       2019-08-04 16:29:13 +08:00 via Android   ❤️ 1
    计划任务是没有黑框框的。
    Semidio
        20
    Semidio  
       2019-08-04 16:53:14 +08:00
    hideexec
    favtony
        21
    favtony  
       2019-08-04 17:02:38 +08:00 via Android
    用计划任务,选不管是否登录都运行,然后选登录作为触发器就行,这样执行就是无感知的
    ysc3839
        22
    ysc3839  
       2019-08-04 17:25:36 +08:00 via Android
    我觉得主要问题是 cmd 不支持在当前控制台后台执行。
    Unix shell 可以用 `command &` 在后台执行命令,而 cmd 只能用 start 启动一个新的控制台来实现后台执行,新启动的控制台不是隐藏的,就导致了你的问题。
    kokutou
        23
    kokutou  
       2019-08-04 18:36:18 +08:00
    搜索 RunHiddenConsole.exe
    用这个启动 bat 即可。。。

    RunHiddenConsole.exe [batfile]
    kokutou
        24
    kokutou  
       2019-08-04 18:36:57 +08:00
    还有 nircmd

    nircmd.exe elevatecmd exec hide [batfile]
    Stypstive
        25
    Stypstive  
       2020-08-20 11:26:41 +08:00
    RunHiddenConsole 亲测好用 @kokutou 感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2419 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:01 · PVG 00:01 · LAX 08:01 · JFK 11:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.