news 2026/4/17 21:17:17

别再只会dir和cd了!Windows 11/10下PowerShell 7.x的10个高效命令与场景实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
别再只会dir和cd了!Windows 11/10下PowerShell 7.x的10个高效命令与场景实战

Windows 11/10下PowerShell 7.x的10个高效命令与场景实战

你是否还在Windows系统中反复点击鼠标完成文件操作?是否还在为批量处理数据而苦恼?PowerShell 7.x作为微软新一代命令行工具,正在彻底改变Windows用户的工作方式。与传统的CMD相比,它提供了更强大的对象处理能力;与图形界面相比,它能将复杂任务简化为一行命令。本文将带你超越基础的dir和cd,探索10个真正能提升效率的PowerShell命令及其实际应用场景。

1. 文件管理:告别重复劳动

1.1 批量重命名文件

图形界面下重命名几十个文件是场噩梦,而PowerShell只需一行:

Get-ChildItem *.jpg | ForEach-Object { Rename-Item $_ -NewName ("vacation_2023_" + $_.Name) }

这行命令会:

  • 获取当前目录所有jpg文件
  • 为每个文件添加"vacation_2023_"前缀
  • 保留原文件名后缀

更复杂的重命名需求,比如去除特定字符:

Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace 'old_','' }

1.2 智能文件搜索

Windows搜索太慢?试试这个组合命令:

Get-ChildItem -Path C:\Projects -Recurse -File | Where-Object { $_.Name -like '*report*' -and $_.LastWriteTime -gt (Get-Date).AddDays(-30) } | Select-Object FullName, Length, LastWriteTime

参数说明:

  • -Recurse:搜索子目录
  • -File:只找文件不找文件夹
  • -like:模糊匹配文件名
  • LastWriteTime:30天内修改过的

2. 系统管理:一键掌控Windows

2.1 服务管理三板斧

查看所有正在运行的服务:

Get-Service | Where-Object Status -eq 'Running' | Format-Table -AutoSize

重启指定服务(以Windows Update为例):

Restart-Service -Name wuauserv -Force

设置服务启动类型:

Set-Service -Name wuauserv -StartupType AutomaticDelayedStart

2.2 Windows功能开关

查看已安装功能:

Get-WindowsOptionalFeature -Online | Where-Object State -eq 'Enabled'

启用/禁用功能(如Hyper-V):

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

3. 数据处理:JSON和CSV的救星

3.1 JSON处理

从API获取数据并提取关键信息:

$weather = Invoke-RestMethod -Uri "https://api.weather.com/v1/location?city=beijing" $weather.data | Select-Object temperature, humidity, windSpeed | ConvertTo-Json -Depth 5

将JSON保存到文件:

$config = @{ "appName" = "MyApp" "version" = "1.2.0" "settings" = @{ "theme" = "dark" "notifications" = $true } } $config | ConvertTo-Json | Out-File "config.json"

3.2 CSV高级操作

合并多个CSV文件:

Get-ChildItem *.csv | Import-Csv | Export-Csv combined.csv -NoTypeInformation

筛选并处理CSV数据:

Import-Csv sales.csv | Where-Object { [int]$_.Amount -gt 1000 } | Select-Object "CustomerName","Product","Amount" | Export-Csv high_value_sales.csv -NoTypeInformation

4. 网络与远程管理

4.1 网络诊断

测试端口连通性:

Test-NetConnection -ComputerName example.com -Port 443

获取详细网络配置:

Get-NetIPConfiguration -Detailed | Format-List

4.2 远程执行命令

在远程计算机上运行脚本:

Invoke-Command -ComputerName Server01 -ScriptBlock { Get-Process }

建立持久会话:

$session = New-PSSession -ComputerName Server01 Invoke-Command -Session $session -ScriptBlock { Get-Service } Remove-PSSession $session

5. 日常效率提升技巧

5.1 快速打开常用目录

创建快捷命令:

function proj { Set-Location "C:\Users\$env:USERNAME\Documents\Projects" }

现在只需输入proj就能直达项目目录。

5.2 命令历史增强

搜索历史命令:

Get-History | Where-Object CommandLine -like '*service*'

重用历史命令:

Invoke-History -Id 15

5.3 定时任务自动化

创建每天9点的备份任务:

$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "Backup-Script.ps1" $trigger = New-ScheduledTaskTrigger -Daily -At 9am Register-ScheduledTask -TaskName "DailyBackup" -Action $action -Trigger $trigger

6. 模块化与复用

6.1 创建自定义模块

保存常用函数到MyTools.psm1

function Get-DiskUsage { Get-Volume | Select-Object DriveLetter, SizeRemaining, Size } function Get-TopProcess { Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 }

导入模块:

Import-Module .\MyTools.psm1

6.2 参数化脚本

创建带参数的脚本FileCleanup.ps1

param( [string]$Path = ".", [int]$DaysOld = 30 ) Get-ChildItem -Path $Path -File | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-$DaysOld) } | Remove-Item -WhatIf

运行方式:

.\FileCleanup.ps1 -Path "C:\Temp" -DaysOld 7

7. 错误处理与日志

7.1 优雅的错误处理

try { Get-Content "nonexistent.txt" -ErrorAction Stop } catch { Write-Warning "文件读取失败: $_" $_.Exception | Format-List -Force } finally { Write-Output "操作完成" }

7.2 记录操作日志

Start-Transcript -Path "C:\Logs\Script_$(Get-Date -Format 'yyyyMMdd').txt" # 你的命令... Stop-Transcript

8. 性能监控与优化

8.1 实时资源监控

Get-Counter '\Processor(_Total)\% Processor Time','\Memory\Available MBytes' -Continuous

8.2 查找性能瓶颈

Get-Process | Sort-Object CPU -Descending | Select-Object -First 5 | Format-Table Name, CPU, PM, WS -AutoSize

9. 安全与权限管理

9.1 文件权限审计

Get-ChildItem -Recurse | Get-Acl | Where-Object { $_.Access.IdentityReference -contains "BUILTIN\Users" } | Select-Object Path, AccessToString

9.2 脚本执行策略

查看当前策略:

Get-ExecutionPolicy -List

临时允许脚本运行:

Set-ExecutionPolicy Bypass -Scope Process -Force

10. 跨平台兼容技巧

10.1 Linux命令兼容

PowerShell 7.x原生支持许多Linux命令别名:

ls, cat, grep, curl, wget

10.2 条件判断操作系统

if ($IsWindows) { # Windows特有命令 } elseif ($IsLinux) { # Linux特有命令 }

掌握这10类PowerShell命令后,你会发现Windows下的工作效率提升了不止一个档次。从简单的文件操作到复杂的系统管理,从本地数据处理到远程服务器控制,PowerShell 7.x都能提供优雅的解决方案。记住,真正的PowerShell高手不是记住所有命令,而是理解如何组合它们解决实际问题。

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

Python 数据库操作:ORM与性能优化 实践指南

Python 数据库操作:ORM与性能优化 实践指南 核心结论 原生SQL:性能最佳,但代码可读性和可维护性较差ORM:代码可读性和可维护性好,但可能存在性能开销性能优化:通过索引、查询优化、连接池等技术提升数据库操…

作者头像 李华
网站建设 2026/4/17 21:14:42

基于vue的城市道路事故救援管理系统[vue]-计算机毕业设计源码+LW文档

摘要:随着城市化进程的加速,城市道路交通事故频发,给人们的生命财产安全带来了严重威胁。为了提高城市道路事故救援的效率和协同性,设计并实现了一个基于Vue的城市道路事故救援管理系统。该系统采用前后端分离的架构,前…

作者头像 李华
网站建设 2026/4/17 21:12:18

openclaw搭建标讯技能经验分享

一、前置要求:1、openclaw正常使用,使用kimi、qwen3.5 397、minimax等大模型(不要用32B及以下的小模型,效果不好);2、绑定到个人微信(使用微信clawbot。npx -y tencent-weixin/openclaw-weixin-…

作者头像 李华
网站建设 2026/4/17 21:08:53

数字政府智慧政务信息安全等级保护(三级)建设项目设计方案:安全防护体系设计整体架构、安全建设规划与方案、项目实施与管理

本项目依据等保三级标准,对政府信息系统进行安全规划与建设,通过完善物理、网络、主机、应用、数据安全及管理体系,部署防火墙、日志审计、堡垒机等设备,全面提升防护能力,确保达到等级保护三级要求。 它核心价值在于…

作者头像 李华
网站建设 2026/4/17 21:08:51

3分钟学会:用Lan Mouse实现跨设备鼠标键盘共享的终极方案

3分钟学会:用Lan Mouse实现跨设备鼠标键盘共享的终极方案 【免费下载链接】lan-mouse mouse & keyboard sharing via LAN 项目地址: https://gitcode.com/gh_mirrors/la/lan-mouse 你是否厌倦了在多个电脑间来回切换键盘鼠标?是否梦想着用一套…

作者头像 李华