Windows系统CMD和PowerShell常用命令

CMD

  1. 检查端口
    • 查看所有端口:netstat -ano
    • 带过滤器:netstat -ano|findstr <端口号>
  2. 检查进程
    • 进程列表:tasklist
    • 带过滤器:tasklist|findstr <进程名或PID>
    • 杀掉进程:taskkill /f /t /im <PID或服务名>
  3. 文件处理
    1. 重命名文件
      • ren <路径\文件名>
    2. 删除文件
      • del <路径\文件名>
    3. 删除文件夹
      • rmdir /s /q <路径>
  4. 服务管理
    1. 删除服务
      • sc delete <服务ID,也就是服务名>
    2. 查询所有服务
      • sc query
    3. 查询指定服务状态
      • sc query <服务ID>
  5. 拼接命令
    • A & B :A命令和B命令同时执行
    • A && B :A命令执行成功后再执行B命令
    • A | B :管道符,A命令的输出是B命令的输入
    • A || B :A命令执行失败后执行B命令
  6. 复制文件
    • 语法:robocopy "源路径" "目标路径" [参数列表]
    • 参数列表:
      • /E:复制子目录,包括空目录。将源路径的内容完全拷贝到目标路径中,常用。
      • /MIR:镜像目录树。完全让目标路径的文件内容和源路径中内容相同,高风险。
      • /PURGE:删除目标路径中存在但源路径中不存在的文件/文件夹,高风险。
      • /MT:32:使用 32 个线程进行复制。警告:根据下表来设置线程数。
        • 源设备/目标设备任一设备为机械硬盘时,线程数设置不得超过4,过高的线程数会严重影响传输速度
        • 源设备/目标设备都不是机械硬盘且至少有一个是SATA接口的固态,线程数不超过16
        • 源设备/目标设备都是NVME固态时,线程数不超过32
      • /R:3:如果文件复制失败(例如文件被占用、坏道),重试 3 次。
      • /W:5:每次重试之间等待 5 秒。
      • /Z:以断点续传模式复制文件。
      • /COPY:DATSO:指定要复制的文件信息的具体部分。是个组合命令,常只用DAT。
        • D = Data (文件数据内容,必选)
        • A = Attributes (文件属性,如只读、隐藏、系统)
        • T = Timestamps (时间戳:创建时间、修改时间、访问时间)
        • S = Security (NTFS 权限/ACL,即谁有权读写该文件)
        • O = Owner (文件所有者信息)
      • /NFL:不在屏幕上输出正在复制的文件名。
      • /NDL:不在屏幕上输出正在遍历的文件夹名。
      • /NP:不显示每个文件的复制进度百分比。
    • 常用组合:
      • 多线程拷贝:robocopy "D:\Source" "E:\Dest" /E /MT:32 /R:3 /W:5 /Z /COPY:DAT /NFL /NDL /NP
      • 测试迁移命令:robocopy "D:\Source" "E:\Dest" /MIR /L
      • 数据迁移:robocopy "D:\Source" "E:\Dest" /MIR /MT:32 /R:3 /W:5 /Z /COPY:DATSO /NFL /NDL /NP
    • 临时中断:当需要临时中断数据拷贝的时候,在执行命令的窗口按Ctrl+C即可中断,如果需要恢复,则重复执行上一次的robocopy命令即可。

PowerShell

  1. 阅读文本文件
    • 支持的格式:text、bat、java、html、xml等
    • 基础语法:get-content <文件路径/文件名> [参数]
    • 常用参数:
      • [-wait]:持续打印文件后续补充进去的内容,类似 Linux 的 tail -f 命令
      • [-encoding <编码格式>]:设置获取内容的编码格式为utf8,例如:-encoding utf8
      • [-tail <行数>]:获取文件底部几行内容,例如:-tail 50
      • [-head <行数>]:获取文件头部几行内容,例如:-head 50
      • [-path <路径>]:获取指定路径下所有文档,例如:-path D:\doc*
      • [-filter "<过滤条件>"]:配合path参数对路径下文件进行更细粒度过滤,例如:-filter "*.txt"
    • 示例:
      • get-content -path D:\doc\* -filter "*.log" -encoding utf8
      • get-content D:\logs\out.log -tail 50 -encoding utf8 -wait
  2. 压缩文件
    • 基础语法:Compress-Archive -Path <文件路径\文件名> -DestinationPath <文件路径\文件名>
    • 参数:
      • [-Path <文件路径\文件名>]:路径+源文件名或文件夹名
      • [-DestinationPath <文件路径\文件名>]:路径+目标文件名
    • 示例:
      • Compress-Archive -Path .\test\ -DestinationPath .\test.zip
posted @ 2024-07-30 11:26  苍凉温暖  阅读(487)  评论(0)    收藏  举报