# ===== CodeLab: tool-windows-cmd =====
# 以下代码片段按文章出现顺序拼接, 共 7 段

# ----- 片段 1 (bash) -----
# 查看当前所在的目录(print working directory)
pwd
# 列出当前文件夹的内容,相当于双击打开
dir
# 清空屏幕,让输出重新开始
cls

# ----- 片段 2 (bash) -----
# 进入 D 盘的 projects 文件夹
cd D:\projects
# 回到上一级目录
cd ..
# 新建一个名为 notes 的文件夹
mkdir notes
# 查看文本文件的内容(CMD 和 PowerShell 通用)
type notes.txt
# 复制文件并改名
copy notes.txt notes_backup.txt
# 移动文件(相当于剪切)
move notes_backup.txt notes\

# ----- 片段 3 (bash) -----
# 查看本机 IP、网关、DNS,排查网络问题第一招
ipconfig
# 详细信息,包括 MAC 地址和 DHCP 状态
ipconfig /all
# 列出所有正在运行的进程(进程名、PID、内存占用)
tasklist
# 查看系统概览:CPU 型号、内存大小、Windows 版本
systeminfo

# ----- 片段 4 (bash) -----
# 测试到某个网站的连通性,有回复说明网络基本正常
ping baidu.com
# 查看所有网络连接与监听端口,找谁占用了 8080 端口
netstat -ano

# ----- 片段 5 (bash) -----
# 所有进程按内存(WS)降序排序,取前 5 个
Get-Process | Sort-Object WS -Descending | Select-Object -First 5

# 在日志文件里搜索包含 error 的行
Select-String -Path app.log -Pattern "error"

# 只列出名称以 chrome 开头的进程
Get-Process | Where-Object { $_.Name -like "chrome*" }

# ----- 片段 6 (bash) -----
@echo off
REM 一键备份:把 D:\work 复制到 E:\backup
echo 开始备份...
xcopy D:\work E:\backup /E /I /Y
echo 备份完成!
pause

# ----- 片段 7 (bash) -----
# 一键清理当前用户的临时文件(需以管理员身份运行)
$temp = "$env:TEMP\*"
Remove-Item $temp -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "临时文件已清理"
