1. 从一次真实的踩坑说起为什么我要把 PowerShell 和 CMD 掰开揉碎讲清楚前阵子帮一个朋友处理他公司内网的一台 Windows Server需求很简单每天凌晨两点自动清理某个临时目录里超过七天的文件然后把清理结果写进日志。他之前用 CMD 写了个批处理跑了大半年一直相安无事直到某天目录里出现了带空格和中文的文件名脚本直接罢工日志里只留下一句“系统找不到指定的路径”。他找到我的时候一脸困惑“不就是删个文件吗CMD 怎么这么脆”这个问题其实特别典型。很多人对 Windows 命令行的认知还停留在“黑框框里敲几个命令”的阶段觉得 CMD 和 PowerShell 差不多能跑就行。但真到了要处理复杂逻辑、要跟系统底层打交道、要做自动化运维的时候两者的差距就会像潮水退去后的礁石一样暴露出来。PowerShell和CMD虽然都住在 Windows 的同一个屋檐下但它们的设计哲学、能力边界、适用场景完全是两码事。我写这篇东西的目的很直接把这两个工具从里到外对比清楚让你在下次面对“到底该用哪个”的时候不用再靠猜。无论你是刚接触命令行的新手还是用了十几年 CMD 的老手或者是被 PowerShell 那些“反直觉”语法折磨过的运维我都尽量把该讲的讲透。文章里会涉及大量实操命令、参数选择背后的逻辑、以及我在实际项目中踩过的坑你可以直接抄作业也可以当作一份速查手册。先说结论CMD 是 DOS 时代的遗产简单、直接、兼容性极好适合快速执行单条命令或简单的批处理PowerShell 是基于 .NET 的现代脚本语言和 Shell面向对象、管道强大、能调用整个 .NET 生态适合复杂自动化、系统管理和跨平台运维。但这不是“谁替代谁”的问题而是“什么场景用什么工具”的问题。下面我会从设计思路、核心语法、实操场景、常见问题几个维度展开尽量让你看完之后能形成自己的判断。2. 设计哲学的分野面向文本的管道 vs 面向对象的管道2.1 CMD 的“文本流”世界观CMD 的本质是一个命令解释器它的工作方式非常“古典”你输入一行文本它解析成命令和参数执行然后把结果以文本形式输出到控制台。管道|的作用是把前一个命令的标准输出文本原封不动地喂给后一个命令的标准输入。整个过程里数据始终是字符串没有任何结构信息。举个例子你想找出当前目录下所有.log文件里包含“error”的行findstr /i error *.log这没问题。但如果你想进一步统计每个文件里 error 出现的次数CMD 就抓瞎了。你得写循环、用for /f去解析findstr的输出还得处理各种分隔符和空格脚本会变得又长又脆。因为 CMD 的管道里流动的只是文本它不知道“文件”是什么对象也不知道“行号”是什么属性一切都要靠字符串切割来模拟。这种设计的好处是简单、可预测、启动快。CMD 几乎不依赖任何运行时在 Windows PE 环境、安全模式、老旧系统上都能跑。很多系统级的批处理脚本至今仍然用 CMD就是因为它在最恶劣的环境下也能工作。2.2 PowerShell 的“对象流”革命PowerShell 的设计者当年做了一个关键决定管道里传的不是文本而是.NET 对象。这意味着Get-Process输出的不是一串格式化好的字符串而是一个个System.Diagnostics.Process对象每个对象都有Name、Id、CPU、WorkingSet等属性。你可以直接对这些属性做筛选、排序、计算而不需要去解析文本。同样的需求用 PowerShell 写Get-ChildItem *.log | Select-String -Pattern error | Group-Object Filename | Select-Object Name, Count一行搞定。Select-String返回的是MatchInfo对象Group-Object按文件名分组Select-Object输出名称和计数。整个过程没有字符串切割没有分隔符猜测逻辑清晰且健壮。这种对象管道的代价是启动稍慢、内存占用稍高、学习曲线更陡。但一旦你习惯了“先看对象有什么属性再决定怎么处理”的思维方式效率会有质的飞跃。我个人的体会是CMD 像是在用算盘PowerShell 像是在用 Excel前者适合心算后者适合建模。2.3 兼容性与版本演进的现实考量这里必须提一个很多人忽略的点PowerShell 有两个完全不同的分支。Windows PowerShell版本号到 5.1 为止是 Windows 内置的基于 .NET FrameworkPowerShell Core6.0 以后叫 PowerShell 7是跨平台的基于 .NET Core / .NET 5需要单独安装。两者在语法上高度兼容但模块生态和默认行为有差异。热词里有人问“升级 PowerShell”“Win11 24H2 如何安装 PowerShell 2.0”这其实反映了一个现实很多老旧的自动化脚本、安装程序、甚至 SQL Server 的某些组件硬编码依赖 PowerShell 2.0 引擎。而新版 Windows 默认已经移除了 2.0 引擎导致这些程序报错。解决办法通常是在“启用或关闭 Windows 功能”里勾选旧版组件或者用兼容模式运行。但我的建议是能升级就升级能重写就重写死守 2.0 只会让技术债越滚越大。CMD 这边则几乎没有版本问题从 Windows XP 到 Windows 11核心命令基本没变。这种稳定性是它的优势也是它停滞不前的证据。3. 核心语法与常用命令对照从“能用”到“好用”的差距3.1 文件与目录操作看似相同实则暗藏玄机先看最基础的文件操作。CMD 里用dir、cd、copy、del、md、rdPowerShell 里对应的是Get-ChildItem、Set-Location、Copy-Item、Remove-Item、New-Item、Remove-Item。表面上看只是名字长短的区别但实际使用中差异巨大。比如删除一个目录及其所有内容rd /s /q C:\Temp\OldDataRemove-Item -Path C:\Temp\OldData -Recurse -Force看起来差不多。但 PowerShell 的Remove-Item支持-WhatIf参数可以先预览会删除哪些东西而不实际执行Remove-Item -Path C:\Temp\OldData -Recurse -Force -WhatIf这个功能在批量操作时简直是救命稻草。我有一次写了个清理脚本本来要删C:\Logs\*结果路径变量拼错成了C:\Log*幸好加了-WhatIf先跑了一遍发现它准备删除整个C:\Logs和C:\LogBackup两个目录赶紧改了路径。CMD 的del和rd没有这种保护机制一旦回车就是真删。再比如复制文件时保留权限、时间戳、所有者信息robocopy C:\Source D:\Backup /E /COPYALL /R:2 /W:5Copy-Item -Path C:\Source\* -Destination D:\Backup -Recurse -Forcerobocopy是 CMD 阵营里少有的“神器”功能强大到可以单独写一篇文章。PowerShell 的Copy-Item在简单场景下够用但要做镜像同步、断点续传、多线程复制还是得请出robocopy。所以实际工作中我经常在 PowerShell 脚本里直接调用robocopy两者并不冲突。3.2 管道与筛选文本切割 vs 属性操作前面已经提过对象管道的优势这里再举一个更贴近日常运维的例子。假设你要找出所有占用内存超过 500MB 的进程并按内存降序排列CMD 的做法需要借助tasklist和sort而且很难精确筛选tasklist /fo csv | findstr /v Image | sort /r /65这个命令极其脆弱/65是假设 CSV 输出里内存字段从第 65 个字符开始一旦系统语言或格式变化就失效。而且sort是按字符串排序不是按数值会出现“1000MB 排在 900MB 前面”这种错误。PowerShell 的做法Get-Process | Where-Object { $_.WorkingSet64 -gt 500MB } | Sort-Object WorkingSet64 -Descending | Select-Object Name, Id, {NameMemoryMB;Expression{[math]::Round($_.WorkingSet64/1MB,2)}}逻辑清晰数值比较准确还能自定义输出列。这就是对象管道的威力你操作的是数据本身而不是数据的文本表示。3.3 变量、循环与条件判断批处理的噩梦CMD 的变量用%VAR%表示在批处理里还要区分%VAR%和!VAR!延迟扩展循环用for /f、for /l、for /d等各种变体条件判断用if、if exist、if errorlevel。写一个稍微复杂点的逻辑代码就会变得像天书。比如遍历一个目录下所有.txt文件读取每一行如果包含“ERROR”就输出文件名和行号echo off setlocal enabledelayedexpansion for %%f in (*.txt) do ( set /a line0 for /f delims %%l in (%%f) do ( set /a line1 echo %%l | findstr /i ERROR nul echo %%f:!line!: %%l ) )这段代码有几个坑set /a line1在延迟扩展下才能正确累加findstr的返回值判断依赖文件名带空格时%%f可能出问题。我当年写类似脚本时调试了两个小时才跑通。PowerShell 的等价实现Get-ChildItem *.txt | ForEach-Object { $file $_ $lineNum 0 Get-Content $file | ForEach-Object { $lineNum if ($_ -match ERROR) { {0}:{1}: {2} -f $file.Name, $lineNum, $_ } } }可读性完全不是一个级别。而且 PowerShell 有$null、$true、$false、数组、哈希表、自定义对象写复杂逻辑时不会觉得在跟语言本身搏斗。3.4 错误处理从“忽略”到“精确捕获”CMD 的错误处理基本靠errorlevel和、||而且很多命令的返回值定义不一致有的返回 0 表示成功有的返回非零表示成功完全看开发者心情。批处理里常见的做法是somecommand if %errorlevel% neq 0 ( echo Something went wrong exit /b 1 )PowerShell 则提供了try/catch/finally结构化异常处理以及$ErrorActionPreference全局控制try { Get-Content C:\NotExist\file.txt -ErrorAction Stop } catch { Write-Error 读取失败: $($_.Exception.Message) } finally { Write-Host 清理完成 }-ErrorAction Stop把非终止错误变成终止错误这样才能被catch捕获。这个细节很多人不知道导致try/catch形同虚设。我在实际项目中会把它写进脚本模板避免每次都要提醒自己。4. 实操场景对决什么时候用 CMD什么时候用 PowerShell4.1 场景一快速执行单条系统命令如果你只是想看一下 IP 配置、ping 一下某个地址、刷新 DNS 缓存CMD 和 PowerShell 都能做但 CMD 启动更快。WinR输入cmd回车敲ipconfig /all完事。PowerShell 虽然也能做但启动时要加载配置文件、模块冷启动可能要一两秒。热词里有人问“为什么 WinR 打不开 CMD”这通常是因为环境变量Path被改坏了或者系统策略限制了。解决办法是在C:\Windows\System32下直接找cmd.exe或者用任务管理器“运行新任务”打开。如果连cmd.exe都找不到那可能是系统文件损坏需要sfc /scannow修复。对于这类“即用即走”的场景我的习惯是能用 CMD 一条命令解决的不打开 PowerShell。这不是守旧而是效率优先。4.2 场景二编写自动化运维脚本一旦脚本超过 20 行或者涉及循环、条件、错误处理、日志记录我就会毫不犹豫地选 PowerShell。原因很简单可维护性。CMD 脚本写完之后过两个月自己都看不懂PowerShell 脚本有清晰的函数、参数、注释还能用 PSScriptAnalyzer 做静态检查。举个例子热词里有人问“PowerShell 开机自启脚本”和“开机启动项 CMD 命令”。用 CMD 做开机自启通常是往注册表HKLM\Software\Microsoft\Windows\CurrentVersion\Run里写一个字符串值或者往启动文件夹放一个.bat。用 PowerShell 做同样的事$RegPath HKLM:\Software\Microsoft\Windows\CurrentVersion\Run Set-ItemProperty -Path $RegPath -Name MyScript -Value powershell.exe -ExecutionPolicy Bypass -File C:\Scripts\Startup.ps1注意这里的-ExecutionPolicy Bypass因为默认执行策略可能禁止运行脚本。热词里那个powershell -ep bypass -c irm https://... | iex就是利用了这个参数来绕过执行策略直接从网络下载并执行脚本。这种做法在运维中很常见但极其危险因为你不知道下载的脚本内容是什么。我强烈建议除非你完全信任来源否则不要在生产环境用这种方式。正确的做法是把脚本下载到本地审查后再执行。4.3 场景三处理结构化数据CSV、JSON、XMLCMD 处理 CSV 基本靠for /f切割遇到带逗号的字段、带引号的字段就歇菜。PowerShell 有Import-Csv、ConvertFrom-Json、ConvertFrom-Xml原生支持这些格式。比如读取一个 CSV 文件筛选出年龄大于 30 的记录导出为 JSONImport-Csv users.csv | Where-Object { [int]$_.Age -gt 30 } | ConvertTo-Json | Out-File filtered.json三行代码逻辑清晰。CMD 要实现同样功能可能需要调用powershell或者写一个几百行的批处理得不偿失。热词里有人问“Python 连接 CMD”“安装了 Python 但 CMD 掉不出 Python 命令”这其实是环境变量的问题。Python 安装时如果没有勾选“Add Python to PATH”CMD 就找不到python.exe。解决办法是手动把 Python 安装目录和Scripts目录加到系统Path里或者重新安装时勾选那个选项。PowerShell 里同样需要Path正确但可以用$env:Path查看和临时修改调试起来更方便。4.4 场景四系统管理与远程操作PowerShell 的远程管理能力PowerShell Remoting、WSMan、SSH是 CMD 完全不具备的。你可以用Invoke-Command在一台机器上向多台远程机器发送命令并收集结果$servers (Server01, Server02, Server03) Invoke-Command -ComputerName $servers -ScriptBlock { Get-Service -Name Spooler | Select-Object MachineName, Status }这种能力在批量运维时是刚需。CMD 要实现类似功能得借助psexec、wmic等外部工具而且输出格式难以处理。热词里有人问“CMD 登录其他电脑 MySQL 报错 10060”这是网络连接问题通常是防火墙阻止了 3306 端口或者 MySQL 没有配置允许远程连接。排查步骤先在目标机器上用netstat -an | findstr 3306确认端口监听再用telnet或Test-NetConnection测试连通性。PowerShell 的Test-NetConnection比telnet好用得多会直接告诉你 TCP 测试是否成功。4.5 场景五编码与乱码处理热词里“PowerShell 中的乱码如何处理”是个高频问题。根本原因是 CMD 默认使用系统区域设置的代码页简体中文是 936即 GBK而 PowerShell 默认可能使用不同的编码导致中文显示为乱码。CMD 里可以用chcp 65001切换到 UTF-8chcp 65001PowerShell 里则需要设置输出编码[Console]::OutputEncoding [System.Text.Encoding]::UTF8 $OutputEncoding [System.Text.Encoding]::UTF8或者在脚本开头加上$PSDefaultParameterValues[Out-File:Encoding] utf8热词里那个cmd /c chcp 65001nul g.exe ...就是典型的在 CMD 里切换代码页后编译程序避免编译器输出中文乱码。这个技巧在跨平台开发时特别有用。5. 常见问题与排查技巧实录5.1 PowerShell 执行策略报错怎么办这是新手遇到最多的拦路虎“无法加载文件因为在此系统上禁止运行脚本”。解决办法有几种临时绕过powershell -ExecutionPolicy Bypass -File script.ps1当前用户永久设置Set-ExecutionPolicy -Scope CurrentUser RemoteSigned组策略统一设置适合企业环境由管理员在域控上配置RemoteSigned的意思是本地脚本可以运行从网络下载的脚本必须有数字签名。这是安全性和便利性的平衡点我一般推荐这个。5.2 CMD 和 PowerShell 中和||的差异CMD 原生支持前一条成功则执行后一条和||前一条失败则执行后一条。PowerShell 7 才支持这两个运算符Windows PowerShell 5.1 不支持。在 5.1 里你需要用;分隔命令然后用$?判断上一条是否成功Get-Process -Name notepad -ErrorAction SilentlyContinue if ($?) { 找到了 } else { 没找到 }热词里“PowerShell 对 命令链运算符的版本支持”问的就是这个。如果你在 5.1 里写cmd1 cmd2会直接报语法错误。升级到 PowerShell 7 是最省事的办法。5.3 路径中有空格或特殊字符CMD 里路径带空格要用双引号包裹但for循环里引号处理很麻烦。PowerShell 里用-LiteralPath可以避免通配符解析Get-Content -LiteralPath C:\Program Files\My App\config.ini如果路径里有方括号[]PowerShell 会把它当通配符必须用-LiteralPath。这个坑我踩过不止一次。5.4 命令找不到cd不是Set-Location热词里“PowerShell cd : 无法将‘set-location’项识别为 cmdlet”这个报错通常是因为Set-Location被别名覆盖或者模块加载失败。PowerShell 里cd是Set-Location的别名正常情况下可以直接用。如果报错可以尝试Remove-Item Alias:cd -Force Import-Module Microsoft.PowerShell.Management或者直接用完整命令Set-Location C:\。这种情况多见于自定义配置文件或第三方模块冲突。5.5 常见问题速查表问题现象可能原因解决方法PowerShell 禁止运行脚本执行策略限制Set-ExecutionPolicy RemoteSigned -Scope CurrentUserCMD 中文乱码代码页不匹配chcp 65001或调整字体PowerShell 中文乱码输出编码问题设置[Console]::OutputEncoding报错PowerShell 5.1 不支持升级到 PowerShell 7 或用;$?路径带空格报错未加引号或未用-LiteralPath用双引号包裹或-LiteralPathPython 命令找不到PATH 未配置添加 Python 安装目录到系统 Path远程 MySQL 10060防火墙或绑定地址检查防火墙规则和my.ini的bind-address开机自启不生效注册表路径或权限检查Run键值用管理员权限写入6. 工具选型的个人心得与进阶建议6.1 我的“三秒判断法”每次面对一个命令行任务我会在三秒内做决定如果只是查个状态、跑个单条命令、或者目标机器是 Windows PE / 安全模式用 CMD。如果涉及循环、条件、数据处理、远程操作、日志记录用 PowerShell。如果两者都能做看哪个启动快、写起来顺手。日常小任务我偏向 CMD复杂任务偏向 PowerShell。这不是非此即彼的选择。实际工作中我经常在 PowerShell 脚本里调用cmd /c来执行某些只支持 CMD 的命令或者在 CMD 批处理里调用powershell -Command来处理复杂逻辑。两者是互补关系不是替代关系。6.2 学习路径建议如果你刚入门建议先花两天把 CMD 的常用命令过一遍dir、cd、copy、move、del、md、rd、type、find、findstr、tasklist、taskkill、netstat、ipconfig、ping、tracert、robocopy。这些命令在任何一个 Windows 环境里都能用是基本功。然后花一周时间学 PowerShell 的核心概念Get-Command、Get-Help、Get-Member、管道、对象、变量、数组、哈希表、函数、错误处理。重点掌握Get-ChildItem、Get-Content、Set-Content、Where-Object、ForEach-Object、Select-Object、Sort-Object、Group-Object、Measure-Object这几个命令它们能覆盖 80% 的日常需求。再往后就是按需学习要管 Active Directory 就学ActiveDirectory模块要管 Exchange 就学Exchange模块要管 Azure 就学Az模块。PowerShell 的生态非常庞大不可能一次学完用到什么学什么。6.3 几个容易被忽略的实用技巧技巧一用Get-Help代替搜索引擎。PowerShell 的内置帮助文档非常详细Get-Help Get-ChildItem -Full会显示所有参数、示例、备注。加上-Online参数还能直接打开网页版文档。技巧二用Get-Member探索对象。拿到一个命令的输出先Get-Member看看它是什么类型、有哪些属性和方法。这是从“文本思维”转向“对象思维”的关键一步。技巧三用Out-GridView做交互式筛选。Get-Process | Out-GridView -PassThru会弹出一个表格窗口你可以排序、筛选选中的对象会传回管道。调试脚本时特别方便。技巧四用Start-Transcript记录操作日志。在脚本开头加上Start-Transcript -Path C:\Logs\script.log结尾加上Stop-Transcript所有输出都会自动记录排查问题时不用靠回忆。技巧五CMD 里用doskey做别名。比如doskey lldir /a /o:g可以简化常用命令。虽然不如 PowerShell 的别名强大但聊胜于无。6.4 关于安全的一点提醒热词里那个irm https://... | iex的模式本质上是“下载并执行远程脚本”。这在运维自动化里很常见但风险极高。你无法保证下载的内容没有被篡改也无法保证网络传输是安全的。如果一定要用至少做到确认 URL 是 HTTPS、确认来源可信、先在隔离环境测试、用-WhatIf或手动审查脚本内容。PowerShell 的执行策略不是为了刁难你而是一道安全防线。绕过它的时候心里要清楚自己在做什么。7. 从 CMD 到 PowerShell 的迁移实战一个真实脚本的重写7.1 原始 CMD 脚本的问题回到开头那个朋友的需求每天凌晨两点清理临时目录记录日志。他原来的 CMD 脚本大概长这样echo off set LOGFILEC:\Logs\cleanup.log set TARGETC:\Temp\OldData echo [%date% %time%] 开始清理 %LOGFILE% forfiles /p %TARGET% /s /m *.* /d -7 /c cmd /c del path %LOGFILE% 21 echo [%date% %time%] 清理完成 %LOGFILE%问题很明显forfiles对带空格和中文的文件名处理不好del删除失败时错误信息格式混乱没有区分文件和目录日志没有轮转时间长了会撑爆磁盘。7.2 PowerShell 重写版本# 配置区域 $TargetDir C:\Temp\OldData $LogFile C:\Logs\cleanup.log $DaysOld 7 $MaxLogSizeMB 10 # 日志轮转 if ((Test-Path $LogFile) -and ((Get-Item $LogFile).Length / 1MB -gt $MaxLogSizeMB)) { $ArchiveName C:\Logs\cleanup_$(Get-Date -Format yyyyMMdd_HHmmss).log Move-Item -Path $LogFile -Destination $ArchiveName -Force } # 记录开始 $(Get-Date -Format yyyy-MM-dd HH:mm:ss) 开始清理目标: $TargetDir保留天数: $DaysOld | Out-File $LogFile -Append -Encoding utf8 # 计算截止时间 $CutoffDate (Get-Date).AddDays(-$DaysOld) # 获取并处理文件 $Files Get-ChildItem -Path $TargetDir -Recurse -File -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $CutoffDate } $DeletedCount 0 $FailedCount 0 foreach ($File in $Files) { try { $FileInfo {0} | 大小: {1:N2} KB | 最后修改: {2} -f $File.FullName, ($File.Length / 1KB), $File.LastWriteTime Remove-Item -LiteralPath $File.FullName -Force -ErrorAction Stop $(Get-Date -Format yyyy-MM-dd HH:mm:ss) 已删除: $FileInfo | Out-File $LogFile -Append -Encoding utf8 $DeletedCount } catch { $(Get-Date -Format yyyy-MM-dd HH:mm:ss) 删除失败: $($File.FullName) | 原因: $($_.Exception.Message) | Out-File $LogFile -Append -Encoding utf8 $FailedCount } } # 记录结果 $(Get-Date -Format yyyy-MM-dd HH:mm:ss) 清理完成成功: $DeletedCount失败: $FailedCount | Out-File $LogFile -Append -Encoding utf8这个版本解决了所有问题-LiteralPath处理特殊字符try/catch精确捕获错误日志轮转防止磁盘占满UTF-8 编码避免中文乱码输出格式统一便于后续分析。7.3 部署与调度把脚本保存为Cleanup.ps1然后在任务计划程序里创建一个每天凌晨两点触发的任务操作设置为程序: powershell.exe 参数: -ExecutionPolicy Bypass -File C:\Scripts\Cleanup.ps1注意要用管理员权限运行因为删除某些目录可能需要提权。另外任务计划程序里的“起始于”目录最好设置为脚本所在目录避免相对路径问题。这个脚本我朋友已经跑了半年多日志清晰再也没出现过“系统找不到指定的路径”这种问题。他后来还把脚本扩展了一下加上了邮件通知功能清理失败时自动发邮件提醒。PowerShell 的Send-MailMessage虽然已经标记为过时但在内网环境里仍然能用或者用MailKit等第三方模块。8. 关于未来的一点个人看法CMD 不会消失因为它太基础、太稳定、太不可或缺。很多系统级操作、恢复环境、老旧软件安装程序仍然依赖它。但 PowerShell 正在成为 Windows 运维的事实标准越来越多的微软产品把 PowerShell 作为首选管理接口图形界面反而成了辅助。我的建议是把 CMD 当作应急工具和快速命令入口把 PowerShell 当作主力自动化和管理系统。两者都学但重心放在 PowerShell 上。如果你还在用 CMD 写超过 50 行的脚本真的可以考虑重写了投入的时间会在后续维护中加倍回报。最后分享一个我常用的调试技巧在 PowerShell 脚本里临时插入Read-Host 按回车继续可以让脚本在关键步骤暂停方便你检查变量值和中间状态。调试完再删掉。这个土办法比断点调试简单适合快速排查问题。
企业数字化 ERP 产品动态
相关推荐
LKT6830C安全MCU实战:Cortex-M0+内核下的硬件加密与密钥管理 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:15:19
MCU交流信号采集:差分运放偏置电路设计与Multisim仿真 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:15:19
微信小程序校园综合服务毕设全攻略:从模块设计到避坑指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:15:19
Semi Design VideoPlayer 视频播放器组件实战指南:从基础播放到清晰度切换与原生能力控制 Semi Design VideoPlayer 视频播放器组件实战指南:从基础播放到清晰度切换与原生能力控制 【免费下载链接】semi-design 🚀A modern, comprehensive, flexible design system and React UI library, AI-friendly built-in.🎨Provide 3000 Des… · 2026/9/24 15:58:56
@formily/reactive 响应式内核解读:Formily 为什么重新造一个基于 Proxy 的响应式轮子 前端UI组件 【免费下载链接】formily 📱🚀 🧩 Cross Device & High Performance Normal Form/Dynamic(JSON Schema) Form/Form Builder -- Support React/React Native/Vue 2/Vue 3 项目地址: https://gitcode.com/gh_mirrors… · 2026/9/24 15:58:56
99.6%覆盖率是如何炼成的:mime4cj双层测试架构完整解析 99.6%覆盖率是如何炼成的:mime4cj双层测试架构完整解析 【免费下载链接】mime4cj MIME格式解析库 项目地址: https://gitcode.com/Cangjie-TPC/mime4cj
🎯 mime4cj 是一款面向**仓颉语言(Cangjie)**的 MIME格式解析库&… · 2026/9/24 15:58:56
自研充电桩系统充电桩小程序:稳定兼容+全功能闭环 博主介绍:
所有项目都配有从入门到精通的安装教程,可二开,提供核心代码讲解,项目指导。
项目配有对应开发文档、解析等
项目都录了发布和功能操作演示视频;项目的界面和功能都可以定制,包安装运行ÿ… · 2026/9/24 15:58:32
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程 简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13
1D-CNN时间序列建模实战:从Conv1d原理到工业落地 简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26
柔软的L:汉语语流中被忽视的舌肌张力控制 1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44