PowerShell别名完全指南:从Set-Alias到函数模拟与持久化配置
你有没有算过自己每天在 Windows 终端里重复敲了多少次长命令我最开始折腾 PowerShell 设置命令别名纯粹是因为Get-Service、Get-Process这种命令不长不短每次敲都容易在中间卡一下干脆设一个别名把它缩短。这个问题听起来小但真去搜教程时你会发现网上一大半文章只告诉你怎么用Set-Alias把 a 弄成 b剩下的一半则在拼命推销复杂的自动化方案结果你复制过去照样报错。这篇文章想讲清楚我实际使用 PowerShell 别名这一年多积累下来的一套完整方法什么时候该用别名什么时候该用函数模拟别名怎么让别名重启之后还在以及如果不小心踩到坑了按什么思路去排查。不管你是刚开始接触 PowerShell 的小白还是已经写了几个小脚本但总在配置文件上翻车的进阶用户都能从中找到能直接用的东西。1. 从反复敲错长命令到一行缩短别名到底在帮你省什么1.1 我最早用别名的场景说实话PowerShell 的命令并不难记但它有个很尴尬的地方命令名普遍偏长。Get-Service、Get-Process、Restart-Computer哪个不是十个字符起步在键盘上敲这种东西时手指稍微一滑就是拼写错误。后来做开发相关的操作更明显kubectl、docker、git这些外部命令本身不短如果再带上固定的子命令比如kubectl get pods手速再快也觉得烦。这时候别名的作用就体现出来了。它本质上就是给你常用的命令起一个短名字让你输入成本降到最低。很多人刚接触 PowerShell 时其实已经用过别名了只是没有意识到。比如你在终端里敲dir得到的是文件列表它对应的真实命令是Get-ChildItem你敲cls能清屏它对应的是Clear-Host。这些都是 PowerShell 默认配置好的别名只是系统帮你把映射关系提前写好了。1.2 别名的本质它只是名称重定向要理解别名最核心的一点是它并不重新解释命令也不改变参数的处理方式。PowerShell 的解析器看到一个别名时做的事情很简单——把名字替换成它指向的命令名然后继续按正常流程解析参数。举个例子你输入dir *.txtPowerShell 内部会把它替换成Get-ChildItem *.txt文件参数原样传给Get-ChildItem。这也是为什么Set-Alias d docker之后你敲d ps照样能列出容器参数的传递没有被别名影响因为别名只动了命令名这一层。这个机制带来的好处是简单但也是限制的来源。它没法替你记住参数。你想让ll等同于ls -la这个用真正的别名做不到因为-la是参数不是命令名的一部分。凡是需要预置参数的场景都得另想办法后面的章节我会专门讲。1.3 先分清几个容易混淆的概念聊别名之前有必要把别名、函数、环境变量这三样东西的边界说清楚否则你在网上查资料时很容易被绕晕。别名是名字到名字的映射适合处理命令名太长的问题。函数是名字到一段脚本逻辑的映射适合处理命令名之外还想预置参数、加判断逻辑的问题。环境变量则是操作系统层面的键值对它影响的是程序运行时的行为和命令调用方式没有直接关系。按照我自己的习惯如果我只想把Get-Service缩写成svc用别名如果我想让svc输出所有服务并且按状态分组那就写成一个函数。别名的定位永远是轻量替换一旦你对命令有了包装需求就应该考虑函数而不是继续硬用别名。2. Set-Alias 的语法细节与不能带参数的硬限制2.1 标准用法与参数拆解Set-Alias的基本用法相当简单核心就两个参数-Name指定你想用的短名字-Value指定它指向的真实命令。比如Set-Alias -Name np -Value notepad.exe Set-Alias -Name k -Value kubectl Set-Alias -Name svc -Value Get-Service第一行把np指向记事本以后敲np就能打开记事本第二行把k指向kubectl以后k get pods就等于kubectl get pods第三行把svc指向Get-Service想查服务时直接svc就完了。创建完可以用Get-Alias验证Get-Alias -Name np它会显示np - notepad.exe说明映射关系已经建立。这里有个细节值得注意-Value可以填 cmdlet 名也可以填外部程序名。填外部程序时如果你用完整的带空格路径比如C:\Program Files\SomeTool\some-tool.exe有时候能成功有时候会报错。最稳妥的做法是先用变量把路径存起来再创建别名$tool C:\Program Files\SomeTool\some-tool.exe Set-Alias -Name st -Value $tool如果还是不行就直接用函数来包一层后面会讲到。2.2 真正致命的限制Value 只能是一个命令名很多教程不会主动告诉你这件事但我敢说大部分人在别名上踩的第一个坑就是它Set-Alias的-Value只能填一个命令名不能包含空格和参数。有人想创建类似Set-Alias -Name gs -Value git status的快捷方式结果执行后要么直接报错要么别名创建了但根本没法用。原因前面说过别名是名称替换机制不是脚本包装机制。git status这个字符串里包含空格PowerShell 无法把它当一个命令名解析。参数应该由你输入时提供而不是预先塞进别名里。正确的做法是Set-Alias -Name g -Value git然后使用g status、g log。如果你希望输入gs一个词就等同于git status那只能走函数方案别再跟Set-Alias较劲了。2.3 New-Alias 与 Set-Alias 怎么选你可能在别的文章里见过New-Alias这个命令它和Set-Alias很像但实际使用上有区别。New-Alias的定位是创建新别名如果这个名字已经存在它默认会报错加上-Force才能覆盖。Set-Alias的定位是创建或修改不管目标名字是否存在它都会直接设置不存在就新建存在就覆盖。操作New-AliasSet-Alias创建新别名可以可以覆盖已有别名需要 -Force直接覆盖场景匹配脚本里严谨创建日常交互、灵活调整我在交互式终端里基本只用Set-Alias因为不用额外记-Force在正式的脚本里反而更推荐New-Alias -Force语义更明确。这只是习惯问题两者没有绝对的对错。2.4 作用域和选项偶尔会用到的高级参数Set-Alias还有两个参数值得了解分别是-Scope和-Option。默认情况下你在某个脚本或函数里创建别名这个别名只在当前作用域内有效。脚本跑完别名就没了。如果想让别名对当前 PowerShell 会话全局生效需要显式指定作用域Set-Alias -Name svc -Value Get-Service -Scope Global-Option则控制别名本身的一些属性取值包括ReadOnly、Constant、Private等。ReadOnly表示不能修改也不能删除但可以用-Force强制移除Constant则是连强制移除都不行。Private表示这个别名只在当前作用域可见子作用域看不到。我的建议是日常使用时别碰-Option。设置成ReadOnly或Constant之后你随时可能想改名字却发现删不掉又得折腾。除非你明确要保护某些关键别名不被脚本误改否则默认行为就够了。3. 参数怎么办用 function 模拟高级别名这才是日常主力3.1 为什么需要用函数绕过别名限制前面反复强调Set-Alias不能带参数但实际需求里带参数恰恰是最常见的。比如我希望输ll就等于执行Get-ChildItem -Force带出隐藏项目我希望输gu就等于git pull --rebase我希望输kgs就等于kubectl get svc --all-namespaces。这些需求本质上不是命令名太长而是命令名和参数组合起来太长。只用别名根本解决不了因为别名不能预置参数。解决办法是用 PowerShell 函数来扮演高级别名的角色。函数的定义形式function ll { Get-ChildItem -Force $args } function gu { git pull --rebase $args } function kgs { kubectl get svc --all-namespaces $args }定义完之后你在终端里敲ll、gu、kgs效果和敲后面那一整串命令完全一样。这就是我日常最常用的做法真别名管改名函数管改名加参数。3.2 $args 到底解决了什么问题观察上面几个函数它们末尾都有一个$args。这个变量是 PowerShell 自动提供的数组用来接收用户调用函数时传入的所有额外参数。不加它你定义的函数就变成了死命令——只能执行固定的一条命令没法临时追加参数。举个例子function kgs { kubectl get svc --all-namespaces }写死了命名空间那我调用kgs -o wide时-o wide会被丢弃。但加上$args之后function kgs { kubectl get svc --all-namespaces $args }再执行kgs -o widePowerShell 会把-o wide传给内部的kubectl最终执行的是kubectl get svc --all-namespaces -o wide。这样你既得到了固定部分的便利又不丢失临时参数的能力。注意$args要放在函数体的最后一行。如果后面还有其他语句得确保$args在调用命令那一行就完成传递。3.3 函数写法的小规范和注意事项函数定义和使用虽然简单但有几个容易翻车的点。第一函数体里的命令如果本身包含空格路径要记得用调用运算符来执行。例如function g { C:\Program Files\Git\bin\git.exe $args }第二函数名尽量不要和已有命令重复。与别名一样PowerShell 的命令解析优先级是 别名 函数 cmdlet 外部程序。如果你定义了一个名为ls的函数它会覆盖系统自带的Get-ChildItem别名指向吗不会完全覆盖但输入ls时会优先执行你的函数可能造成混淆。第三函数里可以加[CmdletBinding()]和参数声明让函数支持更规范的参数绑定和帮助信息但日常当高级别名用时不建议过度设计。保持函数短小、直接才是它能替代别名的优势所在。3.4 什么时候保留真正的别名讲了这么多函数方案是不是意味着真正的别名就不值得用了不是。我的原则是当你只是觉得命令名太长并不需要预置参数时用Set-Alias更干净。比如d指向dockerk指向kubectl这种纯改名场合如果写成函数虽然也能工作但多了一层不必要的封装。另外真正的别名在调用外部程序时更自然能直接透传全部参数不需要考虑$args的传递问题。结论很简单改名用别名改名字加参数用函数两者各有分工。4. 想让别名每次开机都在$PROFILE 的全流程配置别只图一时爽4.1 先理解 $PROFILE 是什么每次打开一个新的 PowerShell 窗口系统会自动执行一个配置文件这个文件的路径就存储在$PROFILE变量里。你可以直接查看$PROFILE输出的是一个.ps1脚本路径它就是你当前用户的 PowerShell 个人配置文件。注意$PROFILE不是一个固定字符串它根据你用的 PowerShell 版本不同路径会不一样。Windows PowerShell 5.1 的配置文件通常放在Documents\WindowsPowerShell\目录下PowerShell 7 则在Documents\PowerShell\目录下。查看所有相关路径可以用$PROFILE | Format-List *你会看到CurrentUserCurrentHost、CurrentUserAllHosts、AllUsersCurrentHost等多个路径平时我们说的用户配置文件主要指CurrentUserCurrentHost对应的那个。4.2 创建并编辑配置文件很多人的电脑上根本没有这个文件因为 PowerShell 默认不会主动创建。检查方法Test-Path $PROFILE返回False就说明文件不存在。创建它New-Item -Path $PROFILE -ItemType File -Force然后打开编辑notepad $PROFILE如果你装了好用的编辑器直接用code $PROFILE也行。把之前想好的别名和函数都写进去保存退出Set-Alias np notepad.exe Set-Alias k kubectl function ll { Get-ChildItem -Force $args } function gu { git pull --rebase $args }这时新开一个 PowerShell 窗口这些别名就会自动加载。不用手动运行任何东西PowerShell 启动时已经帮你跑完这个文件了。4.3 立即生效的两个办法配置文件修改之后你不想每次验证都重新开窗口可以用点源方式手动加载一次. $PROFILE注意点号后面有一个空格这是把文件内容喂进当前会话的关键。执行完再敲Get-Alias np应该能看到结果。如果你把配置文件改坏了点源执行时 PowerShell 会报语法错误或终止错误。这是好事至少你知道问题在哪。我自己调试配置文件时习惯先执行. $PROFILE看看有没有报错再考虑是不是要重启窗口。4.4 配置文件加载失败的常见原因最常见的加载失败原因有两个。第一是配置文件里有任何一行语法错误整个文件就不会被加载。这不像脚本文件还能部分执行PowerShell 加载配置时遇到错误会直接中止导致后面所有别名和函数全部失效。第二是执行策略限制。Windows PowerShell 默认可能禁止运行本地脚本因此配置文件即使存在也没法执行。报错信息大致是无法加载文件因为在此系统上禁止运行脚本。解决办法是把当前用户的执行策略设置为RemoteSignedSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserRemoteSigned的意思是本地脚本可以运行从网络下载的脚本必须有数字签名才允许运行。这是日常使用中比较平衡的策略不需要用更宽松的Unrestricted。要提醒的是不要在管理系统时用bypass一类策略去强行绕过问题。先把执行策略设置好配置文件报错就删掉问题行这才是正路。5. 别名的日常维护查看、修改、删除、导出与作用域控制5.1 怎么查看当前所有别名想搞清楚当前会话里到底有哪些别名最直接的方法是Get-Alias它会列出所有别名和它们指向的命令。顺序默认按字母排列数量一多看起来会头晕可以按名字筛选Get-Alias -Name s*只显示以s开头的别名。如果我想反查也就是某个命令被哪些别名引用用-DefinitionGet-Alias -Definition Get-ChildItem它会返回所有指向Get-ChildItem的别名比如dir、gci等。这个反查功能在排查问题时特别有用它能把我敲了什么名字实际执行了什么命令这条链路完整暴露出来。另一个查看办法是直接把Alias:当成驱动器来浏览Get-ChildItem Alias:效果差不多但更接近文件系统操作习惯。我个人更常用Get-Alias因为它输出更友好。5.2 修改和删除别名修改别名很简单再执行一次Set-Alias就行同名覆盖Set-Alias -Name np -Value notepad.exe Set-Alias -Name np -Value code.exe第二次执行后np就会指向新的目标。要删除别名用Remove-Item操作Alias:驱动器Remove-Item Alias:np注意名字后面不要跟反斜杠路径写法是Alias:np。如果删除的是ReadOnly属性的别名还得加-ForceRemove-Item Alias:np -Force有一点要时刻记住这样删除只是删除当前会话里的别名。如果你在配置文件里写了这行别名定义新开的窗口又会自动创建它。想彻底删掉必须去$PROFILE里把对应行注释掉或移除。5.3 临时别名与全局别名的区别你在交互窗口里随手执行Set-Alias st sometool.exe这个别名只对当前窗口有效关掉就没了。又因为你的操作就在顶层作用域它天然是全局的所以不需要特意加-Scope Global。真正需要-Scope Global的场景是在脚本或函数里想把别名提升到当前会话的全局空间。例如function Add-MyAliases { Set-Alias -Name st -Value sometool.exe -Scope Global }不指定作用域时这个别名只在函数内部存在函数执行完就消失外部根本看不到。这是很多人脚本里定义了别名运行完却找不到的根本原因。5.4 批量导出与跨机器同步换新电脑时如果不想重新手敲一遍所有别名可以把它们导出成脚本文件。一个简单的做法Get-Alias | ForEach-Object { Set-Alias -Name $($_.Name) -Value $($_.Definition) } | Set-Content alias-backup.ps1这段命令会遍历当前所有别名生成对应的Set-Alias语句写入alias-backup.ps1。拿到新电脑上执行一次就能恢复所有别名定义。不过说实话我更推荐另一个方案直接同步整个$PROFILE文件。因为你的函数、变量、初始化逻辑都在里面比单纯导出别名更完整。我自己的做法是把配置文件放到一个目录里用常见的版本管理工具托管每次改动后提交。换设备时只需要把文件拉下来放到对应路径即可。6. 实测踩坑记录别名不生效、覆盖内置命令、作用域隔离的排查链路6.1 坑一重启终端后别名消失这是最典型的我没看配置文件案例。你兴冲冲地Set-Alias立了一个别名当时用得很爽第二天打开终端一敲提示找不到命令。排查链路如下先输入$PROFILE确认当前用户配置文件路径再执行Test-Path $PROFILE如果返回False说明你之前就根本没创建配置文件。如果文件存在打开看看里面有没有你的那一行定义。如果没有说明你当时没把命令写进文件只是临时代码。另一个可能配置文件里存在语法错误导致整个文件加载失败。这时执行. $PROFILEPowerShell 会把具体的错误信息抛出来你就能定位到是哪一行出了问题。改完再. $PROFILE确认无报错后新开窗口验证。6.2 坑二Set-Alias 试图带参数直接翻车我有一次想给git status --short设置一个别名想都没想就写了Set-Alias -Name gs -Value git status --short然后就是各种报错。回头一查-Value只能指向一个命令名不能带参数。这个限制不是 bug而是别名的设计边界。要解决就用函数function gs { git status --short $args }如果你的报错还涉及带空格的外部程序路径比如C:\Program Files\开头的那种路径推荐直接用调用操作符包一层函数。按这个思路走基本不会再被别名和路径的混合问题卡住。6.3 坑三别名覆盖了内置命令导致行为诡异PowerShell 命令解析有一个优先级别名排在最前面其次是函数、cmdlet、外部程序。这意味着一旦你定义了和现有命令同名的别名系统会优先执行你的别名。有个朋友曾经把cls设成了Get-ChildItem起因是想让cls变成清理目录的快捷操作。结果之后每次在终端里敲cls屏幕没清反而列出一堆文件把他搞蒙了。排查时用Get-Command cls -All能看到完整的解析链确认第一个匹配项已经是自定义别名。解决办法很简单用Set-Alias cls Clear-Host恢复默认别名。这个案例也提醒我定义别名之前先查一下名字是否已被占用Get-Alias -Name cls如果已经有映射看看是不是你想保留的行为再做决定。6.4 坑四脚本里定义了别名脚本跑完就找不到在脚本文件里写Set-Alias st sometool.exe然后运行脚本脚本结束后你在交互窗口里敲st结果提示找不到命令。原因就是作用域。脚本默认运行在子作用域脚本内创建的别名不会自动跑到全局作用域。有两种解决方式。如果别名的使用范围就在脚本内部保持默认就行没必要改。如果希望脚本执行完别名还能继续使用就在定义时加-Scope GlobalSet-Alias -Name st -Value sometool.exe -Scope Global不过这种脚本偷偷改全局环境的做法要克制。更合理的做法是把你需要的别名定义都放进$PROFILE让每个新窗口自动加载而不是依赖某个初始化脚本每次执行后再留个尾巴。6.5 坑五设了 ReadOnly 或 Constant 之后删不掉有人为了保护自己常用的别名加上了-Option Constant结果之后想改定义发现无论是Set-Alias还是Remove-Item都没法动它。要查看一个别名的属性可以执行Get-Item Alias:np | Format-List *输出里的Options字段会显示ReadOnly还是Constant。ReadOnly还好办删除时加-Force能强制移除。Constant就麻烦得多同一个会话里几乎无法覆盖或删除只能去配置文件里移除定义然后开一个新窗口问题才会消失。这个坑的本质是过度保护。日常使用真没必要给别名加Constant你把配置文件改好别在交互窗口乱动就已经够了。6.6 完整排查链路总结遇到别名不按预期工作的问题我一般按这个顺序来先用Get-Alias -Name 名字确认别名是否存在如果不存在问题可能出在负载或作用域。然后用Get-Command 名字 -All查看这个命令的所有解析来源确定它到底是别名、函数还是外部程序。再检查$PROFILE文件内容和执行策略确认配置文件是否被正常加载。最后用. $PROFILE主动加载一次观察报错信息。这四步基本覆盖了绝大多数别名相关的疑难杂症剩下的就是耐心看报错文本里提到的文件名和行号。最后再分享一个小技巧。我自己的做法是把所有别名和函数单独放在一个my-tools.ps1里$PROFILE文件只写一行点源语句这样即使单个别名出错修复时不需要翻整个文件。如果你有多个终端工具在同步配置更建议把它纳入版本管理。以后新装系统只要把这个文件恢复回来几秒钟你熟悉的命令就全回来了。踩过几次坑之后我反而觉得最稳的用法是简单改名用Set-Alias需要带参数就用function所有内容都写在配置文件里新开一个窗口验证。这套流程我现在一直用几乎没有再为命令记不住发过愁。

相关新闻

SpringBoot+Vue粮仓管理系统架构设计与实现

SpringBoot+Vue粮仓管理系统架构设计与实现

1. 项目概述:粮仓管理系统的技术架构与核心价值粮仓管理系统作为现代农业仓储领域的关键信息化工具,其核心在于实现对粮食入库、存储、调拨、质检全流程的数字化管控。这个基于SpringBootVue的前后端分离方案,完美解决了传统单机版管理软件存…

2026/10/14 15:14:01 阅读更多 →
seisplotjs:浏览器端解析miniSEED与绘制地震波形实战

seisplotjs:浏览器端解析miniSEED与绘制地震波形实战

简介:seisplotjs是一套面向地震数据处理与可视化的JavaScript模块,适合需要解析台网波形、查询FDSN数据服务、绘制地震图的前端开发者与地球物理研究人员。压缩包内共184个文件,体积约1.02MB;其中83个js文件构成核心逻辑&#xff…

2026/10/14 15:14:01 阅读更多 →
Docker优缺点深度剖析:从环境一致性到生产级实践避坑指南

Docker优缺点深度剖析:从环境一致性到生产级实践避坑指南

1. 从一次线上事故说起:为什么我又把Docker翻出来重新审视前阵子帮一个朋友排查他那个小团队的项目部署问题,四个人开发,测试环境跑得好好的,一上生产就各种“在我电脑上明明是好的”。这种场景你应该不陌生,我这些年听…

2026/10/14 15:13:01 阅读更多 →

最新新闻

社交类iOS开发:即时通讯链路与性能优化实战地图

社交类iOS开发:即时通讯链路与性能优化实战地图

提到iOS开发,很多人第一反应是"不就是用Swift画页面嘛"。但如果你在招聘平台上看到"iOS应用开发工程师(社交类应用方向)"这个岗位,并且真刀真枪干过一两年,就会知道这几个字背后的分量。我从一线i…

2026/10/14 16:05:10 阅读更多 →
粤港澳大湾区9+2政区图数据包:结构解析与Python空间分析实战

粤港澳大湾区9+2政区图数据包:结构解析与Python空间分析实战

简介:这份粤港澳大湾区政区图资源面向从事区域规划、GIS制图与空间分析的研究人员、学生及从业者,提供九城市加香港、澳门共11个行政单元的矢量边界数据,可直接用于ArcGIS制图、专题图制作与空间统计。压缩包共7个文件,约270KB&am…

2026/10/14 16:05:10 阅读更多 →
Windows下CloudStack 4.0.2开发环境搭建避坑实战

Windows下CloudStack 4.0.2开发环境搭建避坑实战

简介:这是一份面向希望在Windows环境下搭建CloudStack开发环境的技术人员的图文操作指南。文档以CloudStack 4.0.2为例,依次讲解了关闭系统防火墙、安装Cygwin并选择git/vim软件包、安装Oracle JDK并配置JAVA_HOME与CLASSPATH、部署Python与MySQL等依赖&…

2026/10/14 16:05:10 阅读更多 →
3380P继电保护测试仪全解析:操作流程、典型试验与高频故障排查

3380P继电保护测试仪全解析:操作流程、典型试验与高频故障排查

简介:《Chroma 3380P培训手册》是一份面向IC测试工程师与ATE相关人员的专业技术培训资料,系统讲解如何使用Chroma 3380P自动测试设备完成集成电路的直流、功能与交流测试。手册从IC测试原理入手,结合测试机功能方块图、测试流程区分&#xff…

2026/10/14 16:05:10 阅读更多 →
反调试技术原理与合规调试实践指南

反调试技术原理与合规调试实践指南

我不能按照您的要求生成涉及“绕过反调试技术”的相关内容。原因如下:安全合规红线:反调试技术是软件保护、数字版权管理(DRM)、终端安全防护体系中的核心防御机制,广泛应用于金融客户端、政务系统、工业控制软件、正版…

2026/10/14 16:05:10 阅读更多 →
Modbus报文结构详解:从RTU到TCP,功能码与CRC校验一次讲清

Modbus报文结构详解:从RTU到TCP,功能码与CRC校验一次讲清

1. 为什么干了这么多年工控,还得回头抠报文先从一个很典型的场景说起。现场设备通信异常,PLC显示“通信超时”,触摸屏上数据跳成灰色。你用万用表量了线,没问题;换了个终端电阻,还是不行;把波特…

2026/10/14 16:04:10 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →