WindowsTerminal 美化-壁纸随机更换

news2024/11/28 8:26:54

目录

  • 一. 相关网址
  • 二. 壁纸随机更换思路
  • 三. 指定 WindowsTermina 壁纸路径
  • 四. 编写脚本,随机替换壁纸
    • 4.1 powershell脚本
    • 4.2 .bat批处理脚本
  • 四. 配置定时任务,添加触发器
  • 五. 效果


一. 相关网址

  • 官方下载
    • Windows Terminal 官方Github
    • 微软商店
  • 美化
    • Oh My Posh
    • windowsterminalthemes
    • 微软官方Windows终端设置教程

二. 壁纸随机更换思路

  • WindowsTerminal的壁纸在其settings.json文件中可自定义指定
  • 编写脚本,读取指定文件夹下的所有壁纸文件,随机获取一张壁纸
  • 将壁纸复制到settings.json中指定的路径下,若有既存的文件,强制覆盖
  • 配置定时任务,设置触发器,在用户启动电脑的时候,触发脚本执行

三. 指定 WindowsTermina 壁纸路径

⏹如下图所示,指定壁纸的路径和透明度

在这里插入图片描述

四. 编写脚本,随机替换壁纸

⏹文件夹详情

在这里插入图片描述

4.1 powershell脚本

change_background_image.ps1

# 父文件夹
$Paretn_Path = 'F:\99-Windows_Terminal\'
# 壁纸文件夹
$Wallpaper_BK_Path = "$($Paretn_Path)\02-Wallpaper_BK\"
# Windows_Terminal所需壁纸文件路径
$Wallpaper_Path = "$($Paretn_Path)\01-Wallpaper\img.jpg"

# 递归获取所有的壁纸的绝对路径
$Wallpaper_list = Get-ChildItem -Path $Wallpaper_BK_Path -Recurse -File `
| ForEach-Object { $_.FullName }

# 从所有的壁纸中随机获取一张壁纸下标
$Random_Wallpaper_Index = Get-Random -Minimum 0 -Maximum (($Wallpaper_list | Measure-Object).Count - 1)
# 获取要移动的壁纸对象
$Random_Wallpaper_Full_Path = $Wallpaper_list[$Random_Wallpaper_Index]

# 复制壁纸路径到指定指定文件夹中,如果有同名文件直接强制覆盖
Copy-Item -Path $Random_Wallpaper_Full_Path -Destination $Wallpaper_Path -Force

4.2 .bat批处理脚本

change_background_image.bat

  • 部分电脑可能禁用PowerShell代码,因此提供.bat批处理脚本
  • 由于批处理的代码晦涩难懂,此处将批处理代码与PowerShell代码相结合,在批处理中文件中调用批处理文件中内含PowerShell代码
@(echo '> NUL
echo off)

setlocal ENABLEDELAYEDEXPANSION

set ARGV0=%~f0
set ARGS=%*
set ARGC=0

for %%V in (%*) do (
    set /a ARGC=!ARGC!+1
    set ARGV!ARGC!=%%V
)

PowerShell.exe -Command "Invoke-Expression -Command ((Get-Content \"%ARGV0: `=` `%\") -join \"`n\")"
exit /b %errorlevel%
') | Out-Null

# -------------------以下为PowerShell代码部分-------------------

$argc=$ENV:ARGC
$argv=@()
for($i=0;$i -le $argc;$i++){
    $argv += (Get-ChildItem "ENV:ARGV$i").Value
}

# -------------------PowerShell代码处理的主体部分-------------------

# 父文件夹
$Paretn_Path = 'F:\99-Windows_Terminal\'
# 壁纸文件夹
$Wallpaper_BK_Path = "$($Paretn_Path)\02-Wallpaper_BK\"
# Windows_Terminal所需壁纸文件路径
$Wallpaper_Path = "$($Paretn_Path)\01-Wallpaper\img.jpg"

# 递归获取所有的壁纸的绝对路径
$Wallpaper_list = Get-ChildItem -Path $Wallpaper_BK_Path -Recurse -File `
| ForEach-Object { $_.FullName }

# 从所有的壁纸中随机获取一张壁纸下标
$Random_Wallpaper_Index = Get-Random -Minimum 0 -Maximum (($Wallpaper_list | Measure-Object).Count - 1)
# 获取要移动的壁纸对象
$Random_Wallpaper_Full_Path = $Wallpaper_list[$Random_Wallpaper_Index]

# 复制壁纸路径到指定指定文件夹中,如果有同名文件直接强制覆盖
Copy-Item -Path $Random_Wallpaper_Full_Path -Destination $Wallpaper_Path -Force

四. 配置定时任务,添加触发器

⏹任务计划程序

  • 快捷键:Win + R打开运行窗口
  • 在运行窗口内输入taskschd.msc,打开任务计划程序

⏹在操作选项卡中,点击创建基本任务,打开任务创建向导。

在这里插入图片描述

⏹当我们使用powerhell脚本时,需要指定通过powershell.exe来运行,还需要配置脚本的参数,指定脚本路径

在这里插入图片描述

⏹由于是开机启动的脚本,还需要配置完成之后,在属性选项卡中进行如下配置。

在这里插入图片描述


五. 效果

⏹按照上述配置之后,每次开机或重启之后,WindowsTerminal的壁纸就会更换。
也可根据需求,选择工作站锁定时工作站解锁时,触发脚本执行。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2192392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

链式二叉树及二叉树各种接口的实现(C)

二叉树的性质 若规定根节点的层数为1,则一棵非空二叉树的第 i i i层上最多有 2 i − 1 2^{i-1} 2i−1个结点.若规定根节点的层数为1,则深度为h的二叉树的最大结点数是 2 h − 1 2^{h}-1 2h−1对任何一棵二叉树,如果度为0其叶结点个数为 n 0 …

Semantic Communication Meets Edge Intelligence——构造终端共享的知识图谱指导无线物联网通信中文本的传输

论文链接: IEEE Xplore Full-Text PDF:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9979702 1. 背景 随着自动驾驶、智能城市等应用的发展,移动数据流量将大幅增加。传统的香农信息论(CIT)通信系统已接近其带…

内网穿透工具ngrok

写作背景 最近在公司内购淘了个MAC电脑,想当个Linux服务器起Docker搭建环境用,现在问题是如何在公网上能访问到MAC这个机器上的资源。 之前写了一篇文章Mac当作云服务器,你真的会搞吗 最近想重启一下这台老伙计了,发现ngrok还是…

CIKM 2024 | 时空数据(Spatial-temporal)论文总结

CIKM 2024于10月21号-10月25号在美国爱达荷州博伊西举行(Boise, Idaho, USA) 本文总结了CIKM 2024有关时空数据(spatial-temporal data)的相关论文,主要包含交通预测,插补,事故预测&#xff0c…

计算机网络——http和web

无状态服务器——不维护客户端 怎么变成有状态连接 所以此时本地建立代理—— 若本地缓存了——但是服务器变了——怎么办?

CSS元素堆叠

通常我们可能会认为 HTML 网页是个二维的平面,因为页面中的文本、图像或者其它元素都是按照一定顺序排列在页面上的,每个元素之间都有一定的间隙,不会重叠。然而,实际的网页其实是三维的,元素之间可能会发生堆叠&#…

《python语言程序设计》2018版第8章19题几何Rectangle2D类(中)-同志们我要起飞了

前言 昨天的原始绘制两个矩形的代码段draw_rec2原始draw_rec2运行结果我们不是上面往右转90.我怎么往左转90不对吗??? ☺️结果利用已建立完的Rectangle2D类来实现Rectangle2D类的代码可以找上集看,今天是锻炼的一天好几个倒立体式解锁了.祝大家愉快 经过昨天晚上的努力我终…

Python画笔案例-078 绘制 颜色渐变之coloradd

1、绘制纯 颜色渐变之coloradd 通过 python 的turtle 库绘制 颜色渐变之coloradd,如下图: 2、实现代码 绘制 颜色渐变之coloradd,以下为实现代码: """颜色渐变之coloradd.py本程序需要coloradd模块支持,请在cmd窗口,即命令提示符下输入pip install colorad…

VMware桥接模式无法连接网络

windows下打开控制面板,找到WLAN,记住下面的名称(带有VMware的都是虚拟机的网卡,要找到物理主机的网卡) 回到VMware,编辑——打开虚拟网络编辑器 桥接选择上面的WLAN下的网络名称,确定即可。&…

tortorise数据库迁移变化aerich

数据库迁移 使用场景,当需要修改定义的数据库中表的数据时,就可以利用aerich进行迁移改动 例如 class Asset(models.Model):aid fields.CharField(max_length50, pkTrue)asset_name fields.CharField(max_length150)target_name fields.CharField(…

GO网络编程(三):海量用户通信系统1:登录功能初步

一、准备工作 需求分析 1)用户注册 2)用户登录 3)显示在线用户列表 4)群聊(广播) 5)点对点聊天 6)离线留言 主界面 首先,在项目根目录下初始化mod,然后按照如下结构设计目录: 海量用户通信系统/ ├── go.mod ├── client/ │ ├──…

血液细胞计数与检测(BCCD)数据集教程

BCCD 数据集:血液细胞检测与计数-CSDN博客文章浏览阅读431次,点赞5次,收藏3次。BCCD 数据集:血液细胞检测与计数 BCCD_Dataset BCCD (Blood Cell Count and Detection) Dataset is a small-scale dataset for blood cells detecti…

U盘格式化别担心,数据恢复神器来了!

一、恢复数据的紧迫性和希望 别担心,小编我有幸深陷U盘数据丢失的境地,因此通过不懈的努力与反复试验,今日在此为广大读者分享一次趟雷后恢复数据工具的真实体验;当U盘格式化后,你可能会面临数据的丢失,但…

超简单 Flux 换背景工作流:结合最新 ControlNet 深度 Depth 模型

在本篇文章中,我们将深入探讨如何使用 Flux ControlNet Depth 模型进行换背景。这种方法是我之前基于 Flux 模型换背景工作流的简化版。虽然旧的工作流程功能强大,但它非常复杂且运行缓慢。今天,我们将学习一个更快速、更易用的替代方案。 F…

变电站红外检测数据集 1180张 变电站红外 标注voc yolo 13类

变电站红外检测数据集 1180张 变电站红外 标注voc yolo 13类 变电站红外检测数据集 名称 变电站红外检测数据集 (Substation Infrared Detection Dataset) 规模 图像数量:1185张图像。类别:13种设备类型。标注个数:2813个标注。 数据划分…

【全球顶级域名后缀】

数据时间: 2024.10.6 广告: 五分钟申请SSL证书 (手机电脑都能用) ["aaa","aarp","abarth","abb","abbott","abbvie","abc","able","abogado","abudhabi","ac"…

一项研究表明,只需一滴干血,新的检测技术或许可以在几分钟内发现癌症

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

视频加字幕用什么软件最快?12款工具快速添加字幕!

对于大多数同学来讲,剪辑中比较头疼的就是如何给视频加字幕和唱词啦,特别是用Pr或者FCXP等专业剪辑软件,加字幕也是特别费时的,哪怕是有批量添加的功能orz... 虽然关于这方面的内容已经很多啦,但是真正全面的内容还特…

unity 2d 近战攻击判定的三种方式以及精确获取碰撞点

精确获取碰撞点 核心是获取武器碰撞盒最顶点&#xff0c;然后获取敌人碰撞盒距离该点最近的点 /// <summary>/// 获取获取武器前端位置 碰撞盒最左或最右顶点/// </summary>/// <param name"collider"></param>/// <param name"…

如何把数组作为参数传递给函数(注意,只是传递数组名)?

直接上代码吧&#xff1a; template<class T, size_t nSize> void printArray(T(&Array)[nSize]) {T* pt Array;for (size_t n 0; n < nSize; n) {cout << *(pt n) << "\t";}cout << "\n"; } int main() {int ia[] {…