在utool的自动化助手里写node脚本在这生活工作中,为了方便快捷,我用了一款工具软件>>>uTools, 现在分享一

发布时间:2024-12-11 09:19

在快节奏生活中,手工艺提供了一种减压方式 #生活乐趣# #生活艺术# #手工艺生活# #现代手工艺#

在这生活工作中,为了方便快捷,我用了一款工具软件>>>uTools, 现在分享一下,我在这个软件中的自动化脚本插件里写的几个node脚本

贴一下uTools的官网uTools官网 - 新一代效率工具平台

1.快速设置网络代理

解决痛点:偶尔会有因使用魔法后访问不了网络的问题

image.png

image.png

关键字: qw

image.png

在自动化脚本里我只是使用了一段代码,当用户触发关键字时,会自动执行 'E:/其他/myTest/node脚本/更改网络/index.js' 地址里的文件

之所以这样文件地址来运行脚本是因为 uTools 并不支持一些npm插件,所以需要把启动的脚本指向我们的本地地址

const { execFile } = require("child_process") // 以下是关键代码,调用 node 来执行目标文件 execFile('node', ['E:/其他/myTest/node脚本/更改网络/index.js'], (error, stdout, stderr) => { utools.showNotification(stdout) // 系统将通知 fooBar })

下面才是脚本的内容

首先我们需要 npm init -y 初始化一个node项目, 然后 npm i regedit ,下载regedit 插件,然后创建index.js文件(PS:注意文件的地址,需要跟刚才自己设置的uTools指定的地址一致)

index.js

const regedit = require('regedit').promisified; // 注册表 const internetSettingsPath = 'HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings'; async function toggleProxy() { try { // 获取当前代理状态 const result = await regedit.list(internetSettingsPath); const proxyEnable = result[internetSettingsPath].values['ProxyEnable']; if (proxyEnable) { console.log(proxyEnable.value, '当前代理状态 : 1-开启 0-关闭'); // 设置新的代理值 const valuesToPut = { [internetSettingsPath]: { 'ProxyServer': { value: '127.0.0.1:7890', // 代理地址 type: 'REG_SZ' }, 'ProxyEnable': { value: proxyEnable.value === 0 ? 1 : 0, // 1-开启 0-关闭 type: 'REG_DWORD' } } }; // 更新注册表值 await regedit.putValue(valuesToPut); console.log('代理设置已更新'); } else { console.log('ProxyEnable 值不存在'); } } catch (error) { console.error('获取值或设置值时出错:', error); } } // 调用函数切换代理 toggleProxy();

注意 [internetSettingsPath]: { 'ProxyServer': { value: '127.0.0.1:7890', // 代理地址 type: 'REG_SZ' }, 里的value 是要代理的地址,可自行配置

这样设置完,我们就可以直接快捷切换网络了!!!

image.png

2.快速创建html文件,并且运行

解决痛点:在开发中我们可能需要创建文件进行测试一些功能,下面这个脚本可以支持,触发关键字,自动在指定的文件夹创建html并直接使用vscode打开文件 ,也方便了测试文件的归档,便于日后查找

下面是我的脚本设置,童鞋们可自取(在脚本广场中已分享,可自取下载)

关键字: 以.h结尾 (.h 前面的文字内容即创建好的html的文件名)

image.png

脚本内容(创建的html的body部分可自行设置)

const { spawn } = require('child_process'); if (utools.isWindows()) { if(ENTER.payload.includes('.h')){ let fileName = ENTER.payload.replace('.h','.html') let filePath = `E:/其他/myTest/html/${fileName}` let content = `<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <style> h1{ color: red; } </style> <h1>Lab测试</h1></h1> <script> console.log('Lab测试') </script> </body> </html>` require('fs').writeFile(filePath, content, 'utf8', (err) => { if (err) { console.error('写入文件时发生错误:', err); } else { console.log('文件写入成功!'); // 打开 VSCode 并在后台启动 spawn('start', ['/B', 'code', filePath], { shell: true }); } }); } }

其中 let filePath = E:/其他/myTest/html/${fileName} 这里的前半段(E:/其他/myTest/html/)就是 所创建的html文件要保存到的位置

3.快速切换node版本(使用nvm进行切换,需要保证有对应的node版本)

解决痛点:在开发中我们可能需要根据不同的项目切换对应的node版本,在自动化脚本中,我们可以凭借脚本快速切换指定的node版本

下面是我的脚本设置,童鞋们可自取(在脚本广场中已分享,可自取下载)

关键字: 以nd开头 (nd 后面的数字即要切换的node版本) image.png

下面是脚本内容

const { shell } = require('electron'); // 获取用户输入的关键字 // 判断关键字是否以 "nd" 开头 if (utools.isWindows() && ENTER.payload.startsWith("nd")&&ENTER.payload.length>2 ) { // 提取版本号部分 const version = ENTER.payload.slice(2); // 根据关键字执行相应的命令 function executeNvmCommand(version) { const childProcess = require('child_process').spawn( 'cmd.exe', ['/c', `nvm use ${version}`], { detached: true, stdio: 'ignore', shell: true } ); childProcess.unref(); } // 执行命令 executeNvmCommand(version); } else { console.log("不匹配关键字规则,不执行任何操作。"); }

演示切换node脚本.gif

网址:在utool的自动化助手里写node脚本在这生活工作中,为了方便快捷,我用了一款工具软件>>>uTools, 现在分享一 https://www.yuejiaxmz.com/news/view/442473

相关内容

便捷工具推荐此博文是为了推荐工作生活中的一些便捷软件工具,不是IDE不是SDK并不只针对程序编程,对正常办公也有一定的帮
【PC工具】生产力工具集 uTools!一个有N多日常生活学习办公小工具的软件
推荐5款小而强大的工具,让生活更便捷丰富随着科技的不断进步,我们的生活变得更加便捷和丰富。今天,让我们一同了解一些小而强
推荐5款小而强大的工具,让生活更便捷丰富
自动化剧场:一款创新的脚本自动化工具
让你的生活更便捷的这些软件分享
推荐几款提高工作效率的工具软件
自动化一切!那些我每天使用的快捷自动化工作
便捷工具推荐
职场人士都在用的15款办公软件,有你用过的吗?

随便看看