电子祛魅——Powershell篇

## 一、Poweshell是什么?
不要把powershell当作黑客才用的超级高大上的写代码工具
实际上powershell更像是我的世界里的命令方块——看起来高级,但是实际上是很实用的工具
PowerShell 其实就是 Windows 里的一个“文字版控制台”。平时我们用鼠标点文件夹、点设置、打开软件,PowerShell 做的事情也差不多,只不过它是让你用文字命令告诉电脑该干什么。
它厉害的地方在于:如果一件事你要重复做很多遍,用鼠标会很累,但用 PowerShell 写一句或几句命令,就能让电脑自动做。比如“把这个文件夹里所有图片都改成统一名字”“找出最近修改过的文件”“批量创建一堆文件夹”。
但它本质上还是工具。会用一点可以提高效率,不会用也完全不影响正常用电脑。它没有传说中那么神秘,也不等于编程高手。很多时候就是把原本要点来点去的操作,换成更直接的文字指令。
## 二、Powershell怎么用?
使用命令方块需要先用指令获取命令方块,也就是直接搜电脑里powershell

PowerShell 的作用,简单说就是:**用文字命令控制电脑,尤其适合批量、重复、自动化的事情。**
比如下面这些。
**1. 批量整理文件**
如果下载文件夹里有很多图片,想把所有 `.jpg` 图片移动到一个单独文件夹:
```
Move-Item C:\Users\你的用户名\Downloads\*.jpg C:\Users\你的用户名\Pictures
```
意思是:把下载文件夹里的所有 jpg 图片,移动到图片文件夹里。
**2. 批量改文件名**
比如把一个文件夹里所有 `.txt` 文件名字前面都加上 `old_`:
```
Get-ChildItem C:\Temp\*.txt | Rename-Item -NewName { "old_" + $_.Name }
```
意思是:找到 `C:\Temp` 里面所有 txt 文件,然后统一改名。
**3. 找出大文件**
比如找出下载文件夹里最大的 10 个文件:
```
Get-ChildItem C:\Users\你的用户名\Downloads -File |
Sort-Object Length -Descending |
Select-Object -First 10 Name, Length
```
意思是:看看哪些文件最占空间。
**4. 查看磁盘空间**
比如查看电脑每个磁盘还剩多少空间:
```
Get-PSDrive -PSProvider FileSystem
```
意思是:列出 C 盘、D 盘等磁盘的容量和剩余空间。
**5. 查看正在运行的程序**
比如查看当前运行的程序:
```
Get-Process
```
如果想看最占内存的 10 个程序:
```
Get-Process |
Sort-Object WorkingSet -Descending |
Select-Object -First 10 ProcessName, WorkingSet
```
意思是:看看哪些程序占内存比较多。
**6. 打开常用软件或网站**
比如打开记事本:
```
notepad
```
打开一个网站:
```
Start-Process "https://www.baidu.com"
```
意思是:不用鼠标点,直接让电脑打开程序或网页。
**7. 自动备份文件夹**
比如把工作文件夹复制到备份文件夹:
```
Copy-Item C:\Work C:\Backup\Work -Recurse
```
意思是:把 `C:\Work` 整个文件夹复制到 `C:\Backup\Work`。
**8. 查找包含某个词的文件内容**
比如在日志文件里找包含 `error` 的行:
```
Select-String -Path C:\Logs\app.log -Pattern "error"
```
意思是:从日志里快速找出报错信息。
**9. 查看电脑基本信息**
比如查看系统信息:
```
Get-ComputerInfo
```
意思是:显示 Windows 版本、硬件、系统配置等信息。
**10. 删除临时文件**
比如删除某个临时文件夹里的所有 `.tmp` 文件:
```
Remove-Item C:\Temp\*.tmp
```
意思是:清理指定文件夹里的临时文件。
## 三、Powershell究竟有什么用?
是的兄弟,上面这些其实都是AI写的,因为我不是专门学计算机的,不会专门记忆这些指令,但是powershell在某些情况下很用
以我使用codex的同时举例
我跟codex说:给我把文件夹里的大文件找出来
然后codex会自己写出命令
Get-ChildItem $env:USERPROFILE\Downloads -File |
Sort-Object Length -Descending |
Select-Object -First 10 Name, Length
一般我可以给codex权限然后codex直接通过powershell运行,也就是说codex是大脑然后powershell是双手
或者也可以我自己打开powershell来进行更改
再举个例子
一般情况下更改codex的key和url需要更改codex项目文件夹里的config文件,然后再config文件里找到key和url这几行然后自己手动更改。
然后我让codex写了份小程序来自动更改我的url和key

实际上大概就长这样,也就是通过powershell来更改我的key和url
总之powershell是一个很基础的终端,在现在有了AI的情况下没有必要完全弄懂他的底层逻辑(作为非计算机专业学生),大概知道他是这样用的,有什么用就好