(二)PowerShell Cmdlet(Get-Command)

  • 具体参数参照官网文档,我只做对命令使用的了解,不扣细节
    官网文档
  • 向指定的项中添加内容,如向文件中添加字词
  • Cmdlet Add-Content
  • 将文字追加到当前目录中的ps1文件,但根据文件名称排除test3.ps1
#test.ps1
Add-Content -Path .\*.ps1 -Exclude test3.ps1 -Value '5555555'

在这里插入图片描述
在这里插入图片描述
被排除的文件没有追加数字

  • 可以指定路径清除文件内容,可以使用正则模糊匹配清除
  • Cmdlet Clear-Content
  • 清除文件名后边是3.ps1文件的内容
#test.ps1
Clear-Content "./*3.ps1"

在这里插入图片描述

  • 关于命令的历史记录,有四种处理,即增加,获得,调用,清除
    • Add-History
    • Get-History
    • Invoke-History
    • Clear-History
      ` ※ 感觉用处不大,不想过多研究,略
  • 将自定义属性和方法添加到 PowerShell 对象的实例中
    • Cmdlet Add-Member
  • 将 Microsoft .NET 类添加到 PowerShell 会话,前边这句话是微软文档里写的,我的理解就是powershell可以直接调用.NET或者windows的api,直接使用里边的包之类的,这个对会.NET之类的人很友好,我就做过一个c#的项目,所以不太喜欢这种掺杂的感觉,看着乱
    • Cmdlet Add-Type
    • 下边例子的官方文档的,能看懂但我不想尝试了,闹挺,注释加上吧,容易理解点
$Source = @"
//c#的类,里边有个静态方法,加法计算,一个成员方法乘法计算
public class BasicTest
{
  public static int Add(int a, int b)
    {
        return (a + b);
    }
  public int Multiply(int a, int b)
    {
    return (a * b);
    }
}
"@
#相当于调用上边的类
Add-Type -TypeDefinition $Source
#因为是静态方法,所以直接类名.方法调用
[BasicTest]::Add(4, 3)
#因为是成员方法,所以创建对象,调用方法
$BasicTestObject = New-Object BasicTest
$BasicTestObject.Multiply(5, 2)
  • 删除变量的值
    • Cmdlet Clear-Item
#test.ps1
$name = "zhansgan"
$str="name1:"+$name
Write-Output $str
Clear-Item Variable:name
$str="name2:"+$name
Write-Output $str
PS /Users/sixdog/Documents/PowerShell> ./test.ps1
name1:zhansgan
name2:
PS /Users/sixdog/Documents/PowerShell> 
  • 可以理解为dos里的copy
    • Cmdlet Copy-Item
#test.ps1
Copy-Item ./test.ps1 -Destination ../test/
PS /Users/sixdog/Documents/PowerShell> ./test.ps1
PS /Users/sixdog/Documents/PowerShell> cd ..                                                                            
PS /Users/sixdog/Documents> cd ./test/
PS /Users/sixdog/Documents/test> ls
test.ps1
PS /Users/sixdog/Documents/test> 
  • 删除变量
    • Cmdlet Remove-Variable
#test.ps1
$name = "zhansgan"
Remove-Variable name
Get-Variable name
PS /Users/sixdog/Documents/PowerShell> ./test.ps1
Get-Variable: /Users/sixdog/Documents/PowerShell/test.ps1:9:1
Line |
   9 |  Get-Variable name
     |  ~~~~~~~~~~~~~~~~~
     | Cannot find a variable with the name 'name'.
PS /Users/sixdog/Documents/PowerShell> 
  • .获取当前文件夹信息,*获取文件夹下所有文件信息
    • Cmdlet Get-Item
#test.ps1
PS /Users/sixdog/Documents/PowerShell> Get-Item .         

    Directory: /Users/sixdog/Documents

UnixMode         User Group         LastWriteTime         Size Name
--------         ---- -----         -------------         ---- ----
drwxr-xr-x     sixdog staff       2023/7/30 10:40          288 PowerShell

PS /Users/sixdog/Documents/PowerShell> Get-Item *

    Directory: /Users/sixdog/Documents/PowerShell

UnixMode         User Group         LastWriteTime         Size Name
--------         ---- -----         -------------         ---- ----
drwxr-xr-x     sixdog staff       2023/7/30 09:34          128 PSCsvUtil
-rw-r--r--     sixdog staff       2023/7/30 07:18        33437 command.txt
-rw-r--r--     sixdog staff       2023/7/30 17:01           42 test.ps1
-rw-r--r--     sixdog staff       2023/7/29 20:10         3782 test.zip
-rw-r--r--     sixdog staff       2023/7/30 15:57           14 test2.ps1
-rw-r--r--     sixdog staff       2023/7/30 15:00            0 test3.ps1

PS /Users/sixdog/Documents/PowerShell> get-Item /Users/sixdog/Documents/PowerShell/

    Directory: /Users/sixdog/Documents

UnixMode         User Group         LastWriteTime         Size Name
--------         ---- -----         -------------         ---- ----
drwxr-xr-x     sixdog staff       2023/7/30 10:40          288 PowerShell

PS /Users/sixdog/Documents/PowerShell> get-Item /Users/sixdog/Documents/PowerShell/*

    Directory: /Users/sixdog/Documents/PowerShell

UnixMode         User Group         LastWriteTime         Size Name
--------         ---- -----         -------------         ---- ----
drwxr-xr-x     sixdog staff       2023/7/30 09:34          128 PSCsvUtil
-rw-r--r--     sixdog staff       2023/7/30 07:18        33437 command.txt
-rw-r--r--     sixdog staff       2023/7/30 17:01           42 test.ps1
-rw-r--r--     sixdog staff       2023/7/29 20:10         3782 test.zip
-rw-r--r--     sixdog staff       2023/7/30 15:57           14 test2.ps1
-rw-r--r--     sixdog staff       2023/7/30 15:00            0 test3.ps1

PS /Users/sixdog/Documents/PowerShell> (Get-Item .).LastAccessTime

2023年7月30日 星期日 10:40:42

PS /Users/sixdog/Documents/PowerShell> 
  • 打开文件,或者打开一类文件
    • Cmdlet Invoke-Item
PS /Users/sixdog/Documents/PowerShell> Invoke-Item "/Users/sixdog/Documents/PowerShell/test.docx"
PS /Users/sixdog/Documents/PowerShell> 

在这里插入图片描述

PS /Users/sixdog/Documents/PowerShell> ./test.ps1
PS /Users/sixdog/Documents/PowerShell> Invoke-Item "/Users/sixdog/Documents/PowerShell/*.xlsx"   
PS /Users/sixdog/Documents/PowerShell> 

在这里插入图片描述

  • 移动,相当于mv,可重命名
    • Cmdlet Move-Item
PS /Users/sixdog/Documents/PowerShell> Move-Item ./command.txt ./test/
PS /Users/sixdog/Documents/PowerShell> 

移动到test文件夹

  • 将项目(如变量或注册表项)的值更改为命令中指定的值
    • Cmdlet Set-Item
#不想试了,微软文档例子
#此命令为记事本创建 np 的别名
Set-Item -Path alias:np -Value "c:\windows\notepad.exe"
#此命令将 UserRole 环境变量的值更改为管理员
Set-Item -Path env:UserRole -Value "Administrator"
  • 删除命令,可以删除许多不同类型的文件,包括文件、文件夹、注册表项、变量、别名和函数
PS /Users/sixdog/Documents/PowerShell> Remove-Item ./test4.ps1
PS /Users/sixdog/Documents/PowerShell> 

-重命名文件

  • Rename-Item
PS /Users/sixdog/Documents/PowerShell> Rename-Item -Path ./test.docx -NewName word.docx
PS /Users/sixdog/Documents/PowerShell> 
  • 将属性从一个注册表项复制到另一个注册表项
    • Copy-ItemProperty
#注册表修改这种我就不尝试了,把电脑再给我整歇菜了,官网例子拷过来
Copy-ItemProperty -Path "MyApplication" -Destination "HKLM:\Software\MyApplicationRev2" -Name "MyProperty"
  • 将属性从一个注册表项复制到另一个注册表项
    • Clear-ItemProperty
  • 删除变量的值
    • Clear-Variable
PS /Users/sixdog/Documents/PowerShell> $a=1
PS /Users/sixdog/Documents/PowerShell> Clear-Variable -Name "a"
PS /Users/sixdog/Documents/PowerShell> $a
PS /Users/sixdog/Documents/PowerShell> 
  • 转换路径,我的理解是两种
    • 一种是我们常用的当前路径.或者根路径~,或者上级路径…,他能给转化成具体路径
    • 另一种是powershell有一种路径写法,他能给转化成我们熟悉的路径写法
    • Convert-Path
PS /Users/sixdog/Documents/PowerShell> Convert-Path .
/Users/sixdog/Documents/PowerShell
PS /Users/sixdog/Documents/PowerShell> Convert-Path ~
/Users/sixdog
PS /Users/sixdog/Documents/PowerShell> Convert-Path ..           
/Users/sixdog/Documents
#这种powershell的写法,mac没这个路径,试不了,官网原码参照
PS C:\> Convert-Path HKLM:\Software\Microsoft
HKEY_LOCAL_MACHINE\Software\Microsoft
  • 我试的结果像是转化为csv格式
    • ConvertFrom-Csv
      太多了,就试到这里了,大致了解这玩意命令的套路就行了,现用现查
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值