nodejs调用bat更换win10壁纸

nodejs调用bat更换win10壁纸

月光魔力鸭

2023-11-24 20:40 阅读 190 喜欢 0

最近看某站壁纸挺好看的,抓了几百张放本地...可总不能每天手动去换吧,就做了一个随机更换的小工具。

壁纸

目前壁纸来自 帮小忙的壁纸,只有几百张,不过感觉质量还不错,这里就不上抓取代码了,爬虫是通过puppeteer半自动完成的,数据不大,很快完事。

nodejs 随机更换壁纸

本来想把壁纸放在站点上提供一个随机接口来着.. 结果一搜发现一大堆这类的接口,感觉没啥意思了,看需求吧,有人要就上。

//做成一个命令,可以cmd直接调用
//通过执行bat变更壁纸

let child_process = require('child_process');
let path = require('path');
const logger = require('./log');

let command = `@echo off 
set regadd=reg add "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"
%regadd% /v TileWallpaper /d "0" /f 
%regadd% /v Wallpaper /d "$REPLACE_PATH" /f
%regadd% /v WallpaperStyle /d "2" /f 
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
taskkill /f /im explorer.exe
start explorer.exe
exit`

let fs = require('fs');


(async function () {
  
  logger.log(`变更Win10系统壁纸`)
  let folderPath = path.join(__dirname, '../wallpaper');
  let list = fs.readdirSync(folderPath);
  let ridx = Math.floor((list.length - 1) * Math.random());
  let random = list[ridx];

  let fullPath = path.join(folderPath, random);
  logger.log(`随机挑选: ${fullPath}`);
  
  let toexe = command.replace('$REPLACE_PATH', fullPath);

  let batFilePath = path.join('d:/', 'R.bat');
  fs.writeFileSync(batFilePath, toexe);
  logger.log(`写入bat文件: ${batFilePath}`)

  child_process.exec("powershell -Command \"Start-Process cmd -Verb RunAs -ArgumentList '/c  d:/R.bat'\"", function (err,stdout,stderr) {
    logger.log(`执行结束`)
    process.exit(0);
  })
})();

效果

唯一的缺点感觉就是有点慢,然后会黑一下.., 后续再增加一个定时任务,每天九点执行一下,等壁纸抓的多了,就把来源更换成接口形式就可以了。

完成效果

转载请注明出处: https://chrunlee.cn/article/nodejs-bat-wallpaper.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
本篇文章以一个实际的小项目为主题进行从头到尾的讲解实现,该项目总计开发时长约6小时,主要是有很多页面或功能都是现成的,直接复制过来的,剩下的就调整下样式、字段内容等。
昨天实现一个tabbar的时候发现怎么都无法跳转,直接拿的官方的demo,后来才发现是自定义tabbar的问题。
反爬有很多手段,字体反爬就是其中之一。之前一直都是听过,但是却没怎么在实际爬虫中遇到过,最近在一个爬虫题目网站上看到了,试了试,发现还挺麻烦,当然自己从头研究字体肯定麻烦,简单的是模块多的是,选几个就过了。
通过frp做穿透实现https 访问本地http项目。
最近有系统需要知道性能瓶颈,尝试使用jmeter对重要接口进行并发测试,确定能否支撑一定的用户数量。
在程序中,会有需要后台一直运行的场景。这一节我们来做一个监控某网站的运行状态,如果没有运行,则改变当前的图标。
最近先研究下jenkins远程部署,在自己服务器上跑一个先,简单记录下碰到的问题。
之前看知乎相中了一个想法,给宝宝做一个站,上传生活的日常照片啊、视频之类的,存储肯定是在自己家里,然后做个穿透这样..开始做的时候又想着是时候接触下这些东西了,虽然公司都一点不用,但是自己没事接触下拓展下也是好的。