当前位置: 首页 > news >正文

WindowsTerminal 美化-壁纸随机更换

目录

  • 一. 相关网址
  • 二. 壁纸随机更换思路
  • 三. 指定 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 ENABLEDELAYEDEXPANSIONset ARGV0=%~f0
set ARGS=%*
set ARGC=0for %%V in (%*) do (set /a ARGC=!ARGC!+1set 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.lryc.cn/news/454805.html

相关文章:

  • iOS 多次获取图片主题色不一样
  • UE5 武器IK瞄准系统
  • ①EtherCAT转ModbusTCP, EtherCAT/Ethernet/IP/Profinet/ModbusTCP协议互转工业串口网关
  • 在macOS上进行开发环境配置与应用开发详细的配置指南
  • JavaScript 事件处理基础
  • WordPress响应式Git主题响应式CMS主题模板
  • Solidity 设计模式:实现灵活与可扩展的智能合约架构
  • 房屋水电费:重新布局,重构JS代码
  • Jmeter生成JWT token
  • STM32的ADC技术详解
  • PySpark把一列数据上下移动,时序数据
  • 网络基础 【HTTPS】
  • 51单片机的红外感应洗手器【proteus仿真+程序+报告+原理图+演示视频】
  • 【11】纯血鸿蒙HarmonyOS NEXT星河版开发0基础学习笔记-模块化语法与自定义组件
  • Angular 客户端渲染时,从 ng-state 里读取 SSR 状态的具体逻辑
  • C++的联合体union
  • JavaScript 中的变量作用域
  • 【C++】二叉搜索树+变身 = 红黑树
  • 万界星空科技MES数据集成平台
  • Ajax和axios简单用法
  • Chillax2024.08.01 |免费的白噪音软件
  • Python自动化办公:从Excel到PDF生成的全流程
  • allegro 不同页面相同网路的连接
  • 医院管理新趋势:Spring Boot技术引领
  • Java 新手教程!面向对象设计一口气讲完![]~( ̄▽ ̄)~*(中)
  • 驰骋低代码功能升级 - 实体功能权限控制
  • Matlab|考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化
  • Midjourney零基础学习
  • 词嵌入(Word Embedding)之Word2Vec、GloVe、FastText
  • Vue82 路由器的两种工作模式 以及 node express 部署前端