news 2026/5/23 17:13:19

PowerShell基础知识介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PowerShell基础知识介绍

PowerShell是微软开发的现代命令行工具和脚本语言,它比传统的CMD功能更强大,是Windows自动化管理和跨平台运维的利器。

🆚PowerShell与CMD的核心区别

理解PowerShell,可以从它与你刚了解的CMD对比入手:

特性PowerShellCMD (命令提示符)
本质基于.NET框架的脚本语言和对象化Shell基于DOS的文本化命令解释器
数据处理面向对象。命令的输出是一个包含属性、方法的完整对象,便于后续处理。面向文本。命令输出是纯文本字符串,需要额外工具解析。
功能与扩展功能强大,有数千个内置Cmdlet,支持模块扩展和跨平台(Win、Linux、macOS)。功能相对基础,主要用于Windows系统的基本操作。
脚本能力拥有成熟的脚本语言,支持复杂逻辑、函数、错误处理等。批处理(.bat)脚本功能有限。
学习曲线更陡峭,但自动化潜力巨大。更简单直观,适合执行简单命令。

简单来说,CMD像一把瑞士军刀,适合简单任务;PowerShell则像一个全功能的自动化工具箱,能构建复杂的解决方案。

🚀PowerShell快速上手

  • 如何打开
    • 快捷键Win + R,输入powershell后回车。
    • 在开始菜单搜索“PowerShell”。
    • 在文件资源管理器的地址栏输入powershell并回车。
  • 认识界面:打开后你会看到类似PS C:\Users\YourName>的提示符,PS表示 PowerShell,后面是当前路径。

📚基础语法与常用命令(Cmdlet)

PowerShell命令遵循动词-名词的命名规范,非常直观,例如Get-Process(获取进程)。

以下是一些最常用的命令,你会发现PowerShell体贴地为很多命令设置了别名(Alias),让你可以用熟悉的lscd等命令快速上手:

类别PowerShell命令 (Cmdlet)常用别名功能与示例
导航与查看Get-ChildItemdir,ls,gci列出目录内容。
示例:ls -Recurse(递归列出)
Set-Locationcd,chdir,sl切换目录。
示例:cd D:\Projects
Get-Locationpwd显示当前路径。
文件操作Copy-Itemcopy,cp,cpi复制文件或目录。
示例:copy source.txt dest.txt -Recurse
Move-Itemmove,mv,mi移动或重命名。
示例:move old.txt new.txt
Remove-Itemdel,erase,rm,rd,ri删除文件或目录。
示例:rm file.txt -Force(强制删除)
Rename-Itemren,rni重命名。
New-Itemni创建新项目(文件、目录等)。
系统管理Get-Processps,gps获取进程信息。
示例:ps | sort CPU -Descending
Stop-Processkill结束进程。
Get-Servicegsv获取服务状态。
Get-ComputerInfo获取详细的系统信息。
获取帮助Get-Helphelp,man最重要的命令!查看任何命令的帮助。
示例:Get-Help Get-Process -Examples

🔧核心概念与脚本基础

  1. 管道 (Pipeline)|
    这是PowerShell的灵魂。它传递的是对象,而不仅仅是文本。你可以将一个命令的输出对象无缝传递给下一个命令进行进一步处理。

    # 找到所有.txt文件,并按长度排序Get-ChildItem*.txt|Sort-ObjectLength
  2. 变量 (Variables)
    使用$符号定义变量,能存储任何类型的数据,包括命令返回的复杂对象。

    $myPath="C:\MyFolder"$fileList=Get-ChildItem$myPath
  3. 控制流
    支持if/else条件判断和forforeachwhile等循环,用于编写逻辑复杂的脚本。

    foreach($filein$fileList){if($file.Length-gt1MB){Write-Host"$($file.Name)大于1MB"}}

📝一个简单的自动化脚本示例

下面是一个自动备份文件夹的实用脚本,它结合了变量、条件判断和文件操作:

# 定义源文件夹和目标文件夹(按日期创建子文件夹)$sourceFolder="C:\重要文档"$backupRoot="D:\备份"$dateStamp=Get-Date-Format"yyyyMMdd"$destinationFolder="$backupRoot\备份_$dateStamp"# 如果目标文件夹不存在,则创建它if(!(Test-Path-Path$destinationFolder)){New-Item-ItemType Directory-Path$destinationFolder}# 复制所有文件Copy-Item-Path"$sourceFolder\*"-Destination$destinationFolder-Recurse# 输出完成信息Write-Host"[$((Get-Date).ToString('HH:mm:ss'))] 备份完成!文件已保存至:$destinationFolder"

你可以将以上代码保存为.ps1文件(如MyBackup.ps1),然后在PowerShell中运行它。

💡高效学习建议

  1. 从别名和帮助开始:先用你熟悉的dircd操作,遇到新命令随时用Get-Help查询。
  2. 理解“对象”概念:尝试将命令结果通过管道传递给Get-Member(别名gm)命令,查看对象有哪些属性和方法可用。
    Get-Process|Get-Member
  3. 动手实践:从简化日常重复任务开始,比如批量重命名照片、整理下载文件夹等。
  4. 探索进阶功能:熟练后可以学习模块(Modules)、远程管理(PowerShell Remoting)和与云服务(如Azure)的集成

PowerShell为你打开了一扇通往Windows系统及更广阔IT世界自动化的大门,如果你对它的某个特定功能(比如远程管理、与Python协作或更复杂的模块开发)有更深入的兴趣,我可以为你提供更详细的介绍。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:07:20

专业服务-健康咨询:在线问诊平台UI测试

UI测试在健康咨询平台的重要性‌ 随着远程医疗的蓬勃发展(截至2026年,全球在线问诊用户超10亿),在线问诊平台已成为医疗服务的核心渠道。然而,其用户界面(UI)的缺陷可能导致误诊、数据泄露或用…

作者头像 李华
网站建设 2026/5/22 4:22:44

从GitHub镜像快速拉取GLM-TTS项目并完成WebUI本地化部署

从GitHub镜像快速拉取GLM-TTS项目并完成WebUI本地化部署 在AI语音技术加速落地的今天,越来越多开发者希望将高质量的语音合成功能集成到自己的产品中。然而,面对动辄数十GB的模型、复杂的依赖关系和晦涩的命令行接口,很多人止步于“看得见却…

作者头像 李华
网站建设 2026/5/11 7:11:48

最新发布的十大毕业论文选题平台排名与选题避坑指南

10大论文选题工具核心对比 排名 工具名称 核心功能 效率评分 适用场景 1 aicheck 智能选题大纲生成 ★★★★★ 完全无头绪时的选题生成 2 aibiye 选题优化可行性分析 ★★★★☆ 已有初步方向的优化调整 3 知网 学术资源库选题参考 ★★★★☆ 专业领域深度…

作者头像 李华
网站建设 2026/5/22 17:13:00

GLM-TTS能否导入外部词典?专业术语发音校正方法

GLM-TTS能否导入外部词典?专业术语发音校正方法 在医疗报告朗读、法律文书播报或金融资讯合成中,你是否曾被AI把“银行”读成“因航”、“行长”念作“行走长者”而感到尴尬?这些看似细小的发音错误,在专业场景下却可能引发误解&…

作者头像 李华