win10系统bat脚本自启动程序修改壁纸更换主题区分主副屏壁纸
Posted 闭海通天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了win10系统bat脚本自启动程序修改壁纸更换主题区分主副屏壁纸相关的知识,希望对你有一定的参考价值。
个人而言,起床打开电脑后的第一件事就是启动QQ、微信、浏览器、IDEA、VScode等常用程序,然后再播放歌曲提神醒脑。于是想着整个.bat脚本完成上述步骤,也顺便试着用脚本换不同屏幕的壁纸。
首先第一步当然是直接新建一个文件,修改后缀为.bat然后进行编辑。
启动程序
.bat打开程序可以使用start命令,也有多种写法,第一种适用于该启动的程序名字没有空格的文件,如果文件名有空格可以用第二种,格式如下:
start /d 启动路径 程序文件名
start “” 程序完整路径
start /d "D:\\VScode\\Microsoft VS Code" Code.exe
start "" "D:\\abc\\abc bac.exe"
会用start就可以制定一个多开程序的.bat文件了,但往往在双击.bat文件后,执行时会出现黑框,而且它执行完成后黑框也不会消失,这时候可以在文件末尾加exit
就能自动退出。
(只需要打开程序的话,下面可以不看了)
这样看起来效果就能好很多,但注意的是,我这里打开的程序都是不需要启动再确认或者需要管理员权限的程序,所以不保证真实效果的好坏,下面是我比较常用的两个.bat文件(有的路径做了点处理):
1.开机常用
一般是开机使用的,也可以将它设置到win的启动文件夹中,这样就不用自己手动点击bat了,但我觉得会影响开机速度所以不推荐。如上文所说,能打开微信、浏览器、IDEA、VScode,然后再来一首YOASOBI的歌提神。这里没写QQ时因为我的QQ原先就设置开机启动并登录,亲测有空格小括号中文甚至日文都没有什么问题。
@REM 开机.bat
start /d "D:\\ahydxsgj\\WeChat" WeChat.exe
start /d "D:\\VScode\\Microsoft VS Code" Code.exe
start /d "D:\\IDEA\\IntelliJ IDEA 2020.3.3\\bin" idea64.exe
start /d "C:\\Prkkkk Fababab(x86)\\Mjhjjjt\\Edge\\Application" msedge.exe
start "" "D:\\MUSIC\\中英日文的路径\\YOASOBI - たぶん.mp3"
exit
然后这里就有个小问题,打开VScode的时候,.bat的窗口有时候会显示报错而且不会消失,然后还回输出日志到窗口中,手动关闭窗口的时候VScode也跟着和你说拜拜了。后来发现这个VScode可以不通过Code.exe打开,而是通过命令start /d "D:\\VScode\\Microsoft VS Code\\bin" Code.cmd
去打开,没错,就是换个路径,但是这样又双叒叕多了一个cmd.exe的窗口出来(汗!),所以做了个违背祖宗的 决定,编辑Code.cmd文件,在文件结尾也加上exit
,这样两个黑色窗口也就正常关闭了,虽然不知道会不会对以后造成什么影响,不过也先不管了。1
@REM 开机.bat
start /d "D:\\ahydxsgj\\WeChat" WeChat.exe
@REM Code.cmd有改动!
start /d "D:\\VScode\\Microsoft VS Code\\bin" Code.cmd
start /d "D:\\IDEA\\IntelliJ IDEA 2020.3.3\\bin" idea64.exe
start /d "C:\\Prkkkk Fababab(x86)\\Mjhjjjt\\Edge\\Application" msedge.exe
start "" "D:\\MUSIC\\中英日文的路径\\YOASOBI - たぶん.mp3"
exit
2.开发常用
用来让自己能够进入状态的(防摸鱼被抓)的模式,这里用到的taskkill使用来结束任务用的,没有强制要求该程序一定要运行才能跑tackkill命令,如果当前程序没有运行的话代码也不会报错。首先就是关掉正在打开的音乐播放器,然后关闭浏览器(先关掉你的各种视频网站)然后打开IDEA、navicat,再重新打开浏览器并访问自己常用的搜索引擎。
@REM 不摸鱼.bat
taskkill /f /im PotPlayerMini64.exe
taskkill /f /im msedge.exe
taskkill /f /im chrome.exe
start /d "D:\\IDEA\\IntelliJ IDEA 2020.3.3\\bin" idea64.exe
start /d "D:\\asdfasdf\\nvc" navicat.exe
start /d "C:\\Prkkkk Fababab(x86)\\Mjhjjjt\\Edge\\Application" msedge.exe http://baidu.com
exit
还整了在摸鱼时用和打游戏听音乐时用脚本,但我知道,对于热爱工作的你是不做这些的脚本的
这里要是不知道自己的运行程序可以打开任务管理器查看(如下图所示关闭谷歌浏览器为例)
修改壁纸
这里通过修改注册表wallpaper的值从而达到换壁纸的效果(测试仅为静态壁纸,动态壁纸就不知道了,不过我猜测应该不行)
其中D:\\aaa\\x.jpg
就是需要换的壁纸路径,也可以到注册表中自己手动修改wallpaper的值
然后第二行就相当于立刻更新的作用
reg add "hkcu\\control panel\\desktop" /v "wallpaper" /d "D:\\aaa\\x.jpg" /f
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
其实用这段代码一般情况下已经够用了,但是凡事都有但是,对于有多个屏幕且想要令各个屏幕设置成不同的壁纸,这段代码就很不够用了,然而在网上也找不到相应的文章,要么就是全部设置同一张壁纸,要么就是通过win->设置->个性化
去修改副屏壁纸,这样子就不能一键换多张壁纸了,不能通过脚本单独换副屏壁纸就很难受,要是有人知道怎么实现请教教我orz。
思来想去,还是找到了能凑合着用的方法——利用脚本换主题。
更换主题
我在网上也有看过用脚本更换主题的博客,但看过的都是更换明亮和深色主题,与壁纸没有关系。但经常换壁纸的人应该都知道,win10能够保存主题,该主题是包含了自己的壁纸、颜色、声音以及鼠标光标等多种配置(有的配置没试过,不保证全部配置都能保存到主题当中),方法如下图:
到这一步后,不喜欢用脚本换主题的也可以直接在你配置好的主题选项中手动换主题了,不出意外的话,多个屏幕的壁纸是能相应切换成不同的图片的,也可以去商店下载别人的主题,个人感觉还是比较好用的(之前居然没发现有这种功能)
那么,设置了这个主题后,就可以用脚本做到同时换多张壁纸了吗?是的,还真可以。要做到换主题,就需要找到配置主题的文件在哪,我的路径是在C:\\Users\\用户\\AppData\\Local\\Microsoft\\Windows\\Themes
这个文件夹中就会有你保存过的主题,双击它们也能做到切换主题的效果。
现在用脚本配置就简单了,也是用start
命令打开这个.theme文件就可以换多张壁纸了,而通过打开.theme文件来更换主题的话,系统会再次打开设置窗口,还会有点延迟,我的处理方法是定3秒后关闭System Setting.exe
文件,但要都已经做到换主题了,这里在使用一下上文用过打开音乐or打开某些程序,应用于此的话,做到主题、程序、音乐同时切换,可玩性就比较高了。
先切换主题,readmodle是保存的主题名字,再播放音乐,然后打开一个pdf阅读,其中音乐是使用PotPlayer播放的,自己设置了一个歌单,然后通过它自带的命令行设置实现打开立即播放歌单
这里的timeout用来暂停3秒,然后用taskkill关闭设置窗口,最后exit
@REM 阅读模式.bat
start /d "C:\\Users\\system steam\\AppData\\Local\\Microsoft\\Windows\\Themes" readmodle.theme
start "" "D:\\PotPlayer\\PotPlayerMini64.exe" "D:\\PotPlayer\\Playlist\\白噪声.dpl" /autoplay
start "" "D:\\pdf\\面试凉凉的一万种方法.pdf"
timeout /nobreak /t 3
taskkill /f /im SystemSettings.exe
exit
主题脚本写好后,还可以写多几个让自己偶尔去更换,也可以去商店看有没有喜欢的主题。闲得发慌的话,还可以用脚本整整活:
本来是想放点效果图上来的,壁纸是二刺猿的妹子,但被判定为图片违规 ,想想还是算了,然后还想在网上看看有没有人用脚本控制智能家居,该怎么在换主题的时候同时换台灯的色温。但又意识到自己根本没钱买智能家居,以后有机会再研究吧
小结
本文用到的命令主要有start taskkill timeout exit
,脚本的玩法还是很多的,特别提醒大家也别只会发关机脚本给别人(太过分了2333)
第一次写博客,废话有亿点多,但一篇水文就这样完成了,中间也遇到不少问题,幸好都找到能替换的解决方案,原创不易(也不算难),希望对大家有帮助。
如果还是不能关的话,就强制关闭所有控制台
taskkill /f /im conhost.exe
↩︎
以上是关于win10系统bat脚本自启动程序修改壁纸更换主题区分主副屏壁纸的主要内容,如果未能解决你的问题,请参考以下文章