命令清单

命令 描述 (说明)
Add-Content 将内容添加到指定的文件。
Add-Computer 将本地计算机添加到域或工作组。
Add-History 用于在历史记录中添加命令。
Add-JobTrigger 将作业触发器添加到计划的作业中。
Add-Member 将自定义方法或属性添加到 PowerShell 对象的实例。
Add-Type 将 Microsoft .NET 框架类添加到 Windows PowerShell 会话中。
Clear-Content 删除文件的内容,但不删除该文件。
Clear-History 从命令历史记录中删除条目。
Clear-Item 清除项目或变量的值,但不清除该项目或变量。
Clear-ItemProperty 清除属性的值,但不删除该属性。
Clear-Variable 删除变量的值。
Clear-Host 清除宿主程序的显示。
Copy-ItemProperty 将值和属性从指定位置复制到另一个位置。
Copy-Item 将项目从一个位置复制到另一个位置。
Complete-Transaction 提交活动事务。
Compare-object 比较两组对象。
Disable-PSBreakpoint 禁用当前控制台中的断点。
Enable-PSBreakpoint 在当前控制台中启用断点。
Find-Package 在可用的软件包源中查找软件包。
Find-Script 用于查找脚本。
ForEach-Object 对输入对象集合中的每个项目执行操作。
Get-Alias 获取当前会话的别名。
Get-ChildItem 在一个或多个指定位置获取项目和子项目。
Get-Command 用于获取所有命令
Get-Content 在指定位置获取文件的内容。
Get-Date 用于获取当前日期和时间。
Get-ExecutionPolicy 获取当前会话的执行策略。
Get-Help 显示有关 PowerShell 命令和概念的信息。
Get-History 显示在当前会话期间输入的命令列表。
Get-Host 获取代表当前宿主程序的对象。
Get-InstalledScript 获取为当前用户安装的脚本。
Get-Item 在特定位置获取项目或文件。
Get-ItemProperty 获取特定项目的属性。
Get-Location 显示当前的工作位置。
Get-PSBreakpoint 获取在当前会话中设置的断点。
Get-Package 通过使用程序包管理来显示所有已安装程序包的列表。
Get-Process 获取在本地或远程计算机上运行的进程。
Get-Service 在本地或远程计算机上获取服务。
Get-Transaction 获取当前活动的事务。
Get-Variable 在当前控制台中获取变量。
Install-Package 用于安装一个或多个软件包。
Install-Script 用于安装脚本。
Invoke-Commands 在本地和远程计算机上执行命令。
Move-Item 用于将项目从一个位置移动到另一位置。
Move-ItemProperty 用于将项目的属性从一个位置移动到另一位置。
New-Alias 创建一个新别名。
New-Item 创建一个新项目。
New-ItemProperty 为项目创建一个新属性并设置其值。
New-Service 创建一个新的 Window 服务。
New-Variable 创建一个新变量。
Read-Host 从控制台读取一行输入。
Remove-Computer 从其域中删除本地计算机。
Remove-Item 删除特定项目。
Remove-ItemProperty 从项目中删除属性及其值。
Remove-Job 删除 Windows PowerShell 的后台作业。
Remove-PSBreakpoint 从当前控制台删除该断点。
Remove-Variable 删除具有其值的变量。
Rename-Computer 重命名计算机。
Rename-Item 重命名指定项目。
Restart-Service 停止并启动一项或多项服务。
Restart-Computer 用于在本地和远程计算机上重新启动 Windows 操作系统。
Resume-Job 用于重新启动挂起的作业。
Save-Help 它用于下载最新的帮助文件并将其保存到文件系统目录。
Save-Packages 用于将软件包保存到本地计算机,而无需安装它们。
Save-Script 用于保存脚本。
Select-String 用于在字符串或文件中查找文本。
Send-MailMessage 用于发送电子邮件。
Set-Alias 在当前 Windows PowerShell 中创建或更改 cmdlet 的别名。
Set-Content 将内容写入文件中。
Set-Date 更改系统时间。
Set-Item 将项目的值更改为命令中指定的值。
Set-ItemProperty 更改或创建项目属性的值。
Set-Location 用于将当前工作位置设置为特定位置。
Set-PSBreakpoint 在命令,行或变量上设置断点。
Set-ScheduledJob 更改计划的作业。
Set-Service 停止,启动和挂起服务,并更改其属性。
Set-Variable 设置变量的值。
Show-Command 在图形命令窗口中创建 Windows PowerShell 命令。
Sort-Object 按属性值对对象进行排序。
Start-Job 启动 Windows PowerShell 的后台作业。
Start-Process 在本地计算机上启动或启动更多进程。
Start-Services 启动一个或多个已停止的服务。
Start-Transaction 启动事务。
Stop-Computer 关闭本地和远程计算机。
Stop-Job 停止 Windows PowerShell 的后台作业。
Stop-Process 停止一个或多个进程。
Stop-Services 停止一个或多个正在运行的服务。
Suspend-Jobs 暂时停止工作流程作业。
Suspend-Service 挂起或暂停一个或多个正在运行的服务。
Undo-Transaction 回滚活动事务。
Uninstall-Module 用于卸载模块。
Uninstall-Package 卸载一个或多个软件包。
Unregister-ScheduledJob 删除本地计算机上的计划作业
Update-Help 用于下载并在计算机上安装最新的帮助文件。
Write-Output 将特定对象沿管道发送到下一个命令。

功能概述

PowerShell 的命令叫做 cmdlet(读作 command-let)是 Windows PowerShell 中用于操作对象的单功能命令。
PowerShell 的命令具有一致的命名规范,都采用动词-名词形式,例如 Get-HelpGet-ProcessStart-Service

Windows PowerShell cmdlet 都非常简单,它们设计为与其他 cmdlet 组合使用。例如,“Get” cmdlet 仅检索数据,“Set” cmdlet 仅建立或更改数据,“Format“ cmdlet 仅设置数据格式,”Out“ cmdlet 仅将输出定向到指定的目标,动词部分一般为”Get”、“Add”、“New”、“Set”、“Move”、“Remove” 等。

Windows PowerShell 的单条命令或编程代码具有一定的行为逻辑,根据 获取 > 执行 > 结果 > 循环 的逻辑让使用者可根据需求最大限度的自由发挥。同时 PowerShell 最大可能的兼容了原有 Linux Shell 运维人员的使用习惯,多数命令可套用内置别名来对标 Linux Shell 的命令。

Windows PowerShell 命令的别名一般兼容 Windows Command 以及 Linux Shell,如 Get-ChildItem 命令均可使用 dirls 来代替,命令不区分大小写,官方文档使用大小写书写规范模式是为了让用户更好的识别命令单词的可读性。

快速启动

  • 右键桌面左下角 图标选择 Windows PowerShell
  • 按下组合快捷键 + X 选择 Windows PowerShell
  • 在任意文件夹位置按住 Shift 并右键,选择 在此处打开 PowerShell 窗口

查询版本

获取 PowerShell 系统变量

基础概览

$PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.20348.1
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.20348.1
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

版本属性

$PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      20348  230

主机查询

host


Name             : ConsoleHost
Version          : 5.1.20348.230
InstanceId       : d515e109-5bbe-4c95-9ea3-49161dde279f
UI               : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture   : zh-CN
CurrentUICulture : zh-CN
PrivateData      : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled  : True
IsRunspacePushed : False
Runspace         : System.Management.Automation.Runspaces.LocalRunspace

更新版本

https://github.com/PowerShell/PowerShell/releases

获取帮助

首先学习如何学习,使用命令 Get-Help [函数] 即可查看命令语法和别名。
别名 manhelpGet-Help 的快速命令,也是兼容 Linux Shell 运维人员使用习惯的命令。
追加 -full  查看完整版本帮助
追加 -Online 可以查看最新版本内容

Get-Help Get-ChildItem

名称
    Get-ChildItem

语法
    Get-ChildItem [[-Path] <string[]>] [[-Filter] <string>]  [<CommonParameters>]

    Get-ChildItem [[-Filter] <string>]  [<CommonParameters>]


别名
    gci
    ls
    dir

获取命令

指定命令获取属性

Get-Command Get-ADUser

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Get-ADUser                                         1.0.1.0    ActiveDirectory

模糊获取命令属性

Get-Command *-ADGroupMember

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Add-ADGroupMember                                  1.0.1.0    ActiveDirectory
Cmdlet          Get-ADGroupMember                                  1.0.1.0    ActiveDirectory
Cmdlet          Remove-ADGroupMember                               1.0.1.0    ActiveDirectory

图形命令

Show-Command Get-ADUser

Show-Command 可以在命令窗口中创建一个 Windows PowerShell 命令。您可以使用命令窗口的功能来运行命令或让它将命令返回给您。
同时 Show-Command 是一个非常有用的教学和学习工具。 Show-Command 适用于所有命令类型,包括 cmdlet函数工作流CIM 命令。

清除屏幕

clsClear-Host 的别名

cls

获取别名

获取指定名称的命令别名

Get-Alias hl

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           hl -> Get-Help

获取系统所有预设的别名

Get-Alias *

设置别名

既然有了别名这样简洁且好用的语法,那么就按需要自定义一些常用的吧

获取所有别名相关的命令

Get-Help *alias

Name                              Category  Module                    Synopsis
----                              --------  ------                    --------
Export-Alias                      Cmdlet    Microsoft.PowerShell.U... ...
Get-Alias                         Cmdlet    Microsoft.PowerShell.U... ...
Import-Alias                      Cmdlet    Microsoft.PowerShell.U... ...
New-Alias                         Cmdlet    Microsoft.PowerShell.U... ...
Set-Alias                         Cmdlet    Microsoft.PowerShell.U... ...

Get-Help 设置简洁的命令 hl

New-Alias hl Get-Help

反查别名

有时知道别名但忘记实体命令,可以通过 Get-Help [别名] 来查询

Get-Help cd

名称
    Set-Location

语法
    Set-Location [[-Path] <string>]  [<CommonParameters>]

    Set-Location  [<CommonParameters>]

    Set-Location  [<CommonParameters>]


别名
    sl
    cd
    chdir

删除别名

同时,在完全关闭 PowerShell 后自定义的别名也会同时被清除

rm alias:\ll

通过查询完整命令来查看所有对应的别名,包含系统预设和自定义

hl hl

名称
    Get-Help

语法
    Get-Help [[-Name] <string>]  [<CommonParameters>]

    Get-Help [[-Name] <string>]  [<CommonParameters>]

    Get-Help [[-Name] <string>]  [<CommonParameters>]

    Get-Help [[-Name] <string>]  [<CommonParameters>]

    Get-Help [[-Name] <string>]  [<CommonParameters>]

    Get-Help [[-Name] <string>]  [<CommonParameters>]


别名
    hl
    ll
    get

导出别名

epalExport-Alias 的别名

Export-Alias alias.txt

已导出的 PowerShell 系统预置别名

导入别名

ipalImport-Alias 的别名

Import-Alias .\alias.txt

获取目录

ls  是 dir (Get-ChildItem) 的别名,同时支持 gciGet-ChildItemdir 以及自定义别名

gci


    目录: C:\Users\hexingxing\Desktop


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----   2021/11/16 周二  16:53:57           1071 Adobe Photoshop 2021.lnk

通过变量路径获取临时目录内容

ls $env:temp


    目录: C:\Users\hexingxing\AppData\Local\Temp


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----    2022/6/23 周四  15:26:13                file_icon_path
d-----    2022/6/16 周四  15:51:23                lilo.8112
d-----    2022/6/10 周五  14:58:45                msohtmlclip1
d-----    2022/6/22 周三  17:06:38                nsk4779.tmp
d-----    2022/6/16 周四  15:51:28                PhotoshopCrashes
d-----   2021/11/16 周二  15:35:08                Rar$EXa15660.26333

获取路径

pwdglGet-Location 的别名

pwd

Path
----
C:\Users\hexingxing\Desktop

打开目录

startsapsStart-Process 的别名

同时可以通过系统环境变量打开目录 start $env:temp 和切换目录 cd $env:temp 以及回显结果 echo $env:temp
参考:https://hexingxing.cn/get-childitem/

打开当前目录
同时支持打开可执行文件

start .

打开指定目录

start D:\

打开远程目录

start \\10.0.16.8

返回上级

cdchdir (Set-Location) 的别名

cd ..

切换目录

cdchdir (Set-Location) 的别名

切换到当前用户的桌面路径位置

过程中可以使用 tab 键来补全节点目录名称

如输入 cd c:\us 后按 tab 即可补全为 cd C:\Users\

继续输入 he 屏幕显示 cd C:\Users\he 后按 tab 即可补全为 cd C:\Users\hexingxing\

cd C:\Users\hexingxing\Desktop\

如果目录名称有空格则需要使用单引号或双引号包裹

cd 'C:\Program Files\'

新建项目

niNew-Item 的别名

ni new.txt


    目录: C:\Users\hexingxing\Desktop


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----    2022/6/30 周四  12:16:06              0 new.txt

新建目录

mdmkdir (New-Item <String> -Type Directory) 的别名

md newDir


    目录: C:\Users\hexingxing\Desktop


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----    2022/6/30 周四  12:22:18                newDir

新增内容

acAdd-Content 的别名

向指定的项中添加内容

ac -Path *.txt -Exclude Exclude.txt -Value "newContent"

-Path 指定路径,留空、删除该参数或 . 为当前目录
*.txt 匹配所有 txt 的文件
-Exclude 排除的对象
-Value 输入的内容

向指定的项中添加日期

ac .\currentdate.txt -Value (Get-Date) -PassThru

追加内容

acAdd-Content 的别名
gcGet-Content 的别名

向指定的项中追加内容,原有内容不受影响。

ac .\new.txt -Value (gc .\myinfo.txt)

设置内容

scSet-Content 的别名

向指定的项中设置内容,原有内容将被覆盖。

sc .\new.txt -Value "Set a New Content"

获取内容

gcGet-Content 的别名

gc .\new.txt
Set a New Content

清除内容

clcClear-Content 的别名

clc .\new.txt

重名项目

renRename-Item 的别名

单项模式

支持文件模式将 originalname.txt 重新命名为 renamedname.txt,以及文件夹模式 originalfolder 重新命名为 renamednamefolder

文件标准语法:ren .\originalname.txt -NewName .\renamedname.txt

文件夹标准语法:ren .\originalfolder -NewName .\renamednamefolder

ren originalname.txt renamedname.txt

批量模式

批量重新命名

lsGet-ChildItem 的别名
renRename-Item 的别名,-NewName 是必须追加参数

批量将符合通配 *.txt 的项目重新命名为 *.html

ls *.txt | ren -NewName {$_.name -replace '.txt','.html'}

批量添加前缀

批量将符合通配 *.txt 的项目添加 addin_ 前缀

ls  *.txt | ren -NewName {'addin_'+$_.name}

复制项目

cpCopy-Item 的别名

复制文件到目标位置

release.txt 从当前路径复制到指定目标位置

-path 文件当前所在路径

-destination 被移动的目标位置

-force 强制执行,即使文件为只读或目标位置已存在同名文件

cp -path .\release.txt -destination d:\backupfilepackage -force

cp release.txt d:\backupfilepackage -force 以上命令简化版本

命令中的 .\release.txtrelease.txt 均为命令提示符所在位置 C:\Users\hexingxing,如果不是则需要写明绝对位置,如 C:\Users\hexingxing\Desktop\release.txt

文件夹递归复制

将文件夹递归复制到目标位置

-recurse 递归执行,即将 c:\temp\old 下的所有文件夹递归方式执行

cp c:\temp\old -recurse c:\temp\new

复制到上层文件夹

new.txt 复制到上一级目录

cp .\new.txt ..

移动项目

mvMove-Item 的别名

new.txt 移动到当前/指定用户桌面

mv .\new.txt C:\Users\hexingxing\Desktop\

删除项目

rmRemove-Item 的别名

注意:该删除动作将直接永久删除指定对象,而不是被移入回收站。

删除指定单个文件或空文件夹

单个文件或空文件夹时无需确认直接永久删除

rm .\new.txt

删除指定文件夹

该文件夹下还有文件或文件夹时将提示确认流程

rm .\0\

确认
F:\DesktopNow\0\ 处的项具有子项,并且未指定 Recurse 参数。如果继续,所有子项均将随该项删除。是否确实要继续?
[Y] 是 (Y)  [A] 全是 (A)  [N] 否 (N)  [L] 全否 (L)  [S] 暂停 (S)  [?] 帮助 (默认值为 “Y”):

删除指定文件夹及文件夹内的所有内容

-r-Recurse 的简写,表示该文件夹下还有文件或文件夹时递归删除而不提示确认流程

rm .\1\ -r

强制删除指定文件或文件夹

-r-Recurse 的简写,表示该文件夹下还有文件或文件夹时递归删除而不提示确认流程
-fo-Force 的简写,用于删除被阻拦时强制执行

rm .\1\ -r -fo

项目属性

giGet-Item 的别名

gi .\new.txt


    目录: C:\Users\hexingxing\Desktop


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----    2022/6/30 周四  12:20:18             28 new.txt

格式输出

fwFormat-Wide 的别名

以对象矩阵格式输出

Get-ADObject -Filter 'ObjectClass -eq "user"' -SearchBase "OU=cnList,OU=testGroup,DC=hxx,DC=tt" | fw name -Column 5


陈振浩          莫海翰         高海元         欧丽霞         唐小龙
王鑫            刘玉莲         段小亚         陈越          

flFormat-List 的别名

以对象列表格式输出

Get-ADObject -Filter 'ObjectClass -eq "user"' -SearchBase "OU=cnList,OU=testGroup,DC=hxx,DC=tt" | fl name


name : 陈振浩

name : 莫海翰

name : 高海元

name : 欧丽霞

name : 唐小龙

name : 王鑫

name : 刘玉莲

name : 段小亚

name : 陈越

ftFormat-Table 的别名

以对象表格格式输出

Get-ADObject -Filter 'ObjectClass -eq "user"' -SearchBase "OU=cnList,OU=testGroup,DC=hxx,DC=tt" | ft name

name
----
陈振浩
莫海翰
高海元
欧丽霞
唐小龙
王鑫
刘玉莲
段小亚
陈越

Format-Custom:以对象层次关系输出

循环处理

ls -Name | foreach {$_+"dsf"}

筛选

ls | where {$_ -match "admin"}

排序

LastWriteTime 按最新写入时间排序

LastAccessTime 按最新读取时间排序

ls | sort LastWriteTime

选择

-skip 10 跳过前 10 个对象
-first 10 显示前 10 个对象

ls | select -skip 10 -first 10

逻辑运算

  • -and(逻辑与)
  • -or(逻辑或)
  • -xor(逻辑 XOR)
  • -not(逻辑非)
  • !(与逻辑非相同)

-and(逻辑与)
AND 运算符是逻辑运算符,如果两个条件在表达式中都正确,则返回布尔值 TRUE

$a=10 ; $b=20  
($a -lt $b) -and ($a -eq 10)

-or(逻辑或)
OR 运算符是逻辑运算符,如果表达式中的至少一个条件为 TRUE,则返回布尔值 TRUE。

$a=5 ; $b=30  
($a -lt $b) -or ($a -eq 11)

-xor(逻辑 XOR)
XOR 运算符是逻辑运算符,如果表达式中只有一个条件正确,则它将返回布尔值 TRUE。 当表达式中有多个语句正确时,此运算符将返回 FALSE

$a=5 ; $b=30  
($a -lt $b) -xor ($a -eq 11) -xor ( $b -eq 30)

-not(逻辑非)
NOT 运算符是产生表达式相反结果的逻辑运算符。如果表达式的值为 TRUE,则此运算符将返回 FALSE,反之亦然。

$a=5 ; $b=30  
-not ( $b -eq 30)

!(与逻辑非相同)
此运算符与产生表达式相反结果的逻辑 NOT 运算符相同。

$a=5 ; $b=30  
! ($a -gt $b)

顺序执行

; 符号的作用为多个需求命令顺序执行:
示例:切换到用户桌面并打开该目录位置

cd C:\Users\hexingxing\Desktop\ ; start .

字符替换

参数:-Replace

\. 仅代表 . 字符

"10.1.8.110" -replace "\." ,  ","
10,1,8,110

. 代表所有字符

"10.1.8.110" -replace "." ,  "/"
//////////

替换特定字符

"10.1.8.110" -replace "110" ,  "123"
10.1.8.123

替换空白行

默认输出

(Get-Date)

2022 年 7 月 29 日 15:10:10

替换输出

(Get-Date) -replace "",""
2022/7/29 15:05:00

替换所有空值

默认输出

(Get-Date)

2022 年 7 月 29 日 15:10:10

替换输出

(Get-Date) -replace " ",""
2022/7/2915:05:36

初试变量

写入变量

$getme = (Get-ADUser hexingxing).name

输出变量

$getme
何星星

数组阵列

写入数组

$myphone = "huawei","iphone","samsung","xiaomi","oppo","vivo","nubia","iqoo"

提取数组

$myphone
huawei
iphone
samsung
xiaomi
oppo
vivo
nubia
iqoo

参数:-join

$myphone = $myphone -join "/"
$myphone
huawei/iphone/samsung/xiaomi/oppo/vivo/nubia/iqoo

参数:-split

$myphone = $myphone -split "/"
$myphone
huawei
iphone
samsung
xiaomi
oppo
vivo
nubia
iqoo

日期运算

该主题内容将在以下专项文章更新:https://hexingxing.cn/get-date/

获取日期

-Format <String>

String
[yyyy][yy]
[MM]
[ddd]
[dd]
[hh][HH]
[mm]
[ss]
毫秒 [ms]
年月 [y]
日期 [m]
ISO 8601[s]

Get-Date -Format 'yyyy'
2022
(Get-Date).ToString("yyyy")
2022

获取月份

(Get-Date).Month
7

时间推算

[AddDays] [AddMonths] [AddYears]

向后推移

((Get-Date).AddDays(90))

2022 年 10 月 26 日 14:22:30

向前推移

(Get-Date).AddDays(-120)

2022 年 3 月 30 日 14:24:25

日期推算

(Get-Date).AddYears(-1)

2021 年 7 月 28 日 19:20:18

年份推算

(Get-Date).AddYears(-10).Year
2012

日期格式化

(Get-Date).ToString('yyyy/MM/dd')
2022/08/05
(Get-Date).ToString('yyyy/MM')
2022/08
(Get-Date).ToString('MM/dd')
08/05
(Get-Date).ToString('MM')
08
(Get-Date).ToString('dd')
05
(Get-Date).ToString('HH:mm')
16:50
(Get-Date).ToString('HH:mm:ss:ms')
16:55:05:535

实用技巧

相对于 Get-Command "<String>*" ,而不局限于标题名称,而是全文匹配。

-Verb 模糊匹配关键词

Get-Command -Verb out

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Out-Default                                        3.0.0.0    Microsoft.PowerShell.Core
Cmdlet          Out-File                                           3.1.0.0    Microsoft.PowerShell.Utility
Cmdlet          Out-GridView                                       3.1.0.0    Microsoft.PowerShell.Utility
Cmdlet          Out-Host                                           3.0.0.0    Microsoft.PowerShell.Core
Cmdlet          Out-Null                                           3.0.0.0    Microsoft.PowerShell.Core
Cmdlet          Out-Printer                                        3.1.0.0    Microsoft.PowerShell.Utility
Cmdlet          Out-String                                         3.1.0.0    Microsoft.PowerShell.Utility

Out-Null 屏蔽不必要的执行结果回显

Get-ADUser hexingxing | Select Name | Out-Null 

何星星原创文章仅用于个人学习,当前页面暂不支持复制操作,了解详情或文章转载请 点此 继续!

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注