1、New-Item 创建新项命令
cmdlet New-Item 将创建新项并设置其值。 可创建的项类型取决于项的位置。 例如,在文件系统 New-Item 中创建文件和文件夹。 在注册表中, New-Item 创建注册表项和条目。
New-Item 还可以设置它创建的项的值。 例如,在创建新文件时, New-Item 可以向文件添加初始内容。
在电脑E盘创建一个“PowerShell 练习”目录
代码语言:javascript复制New-item -Path "E:" -Name "PowerShell 练习" -ItemType "directory"
输出
代码语言:javascript复制目录: E:
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/7/6 15:40 PowerShell 练习
PowerShell 练习一次性创建两个目录
代码语言:javascript复制New-Item -ItemType "directory" -Path "E:PowerShell 练习 1","E:PowerShell 练习 2"
输出:
代码语言:javascript复制 目录: E:PowerShell 练习
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/7/6 15:41 01
d----- 2023/7/6 15:41 02
说明:-Path 支持多个字符串,逗号分割
创建文件示例
代码语言:javascript复制New-Item -Path . -Name "demo.txt" -ItemType "file" -Value "使用PowerShell 创建一个文件demo.txt"
输出:
代码语言:javascript复制 目录: E:PowerShell 练习
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2023/7/6 15:42 43 demo.txt
说明:
-Path . 表示当前操作目录
-Value 指定文件内容
常用参数介绍
● -Name:指定新项的名称。 可以指定新项的名称或者指定新项的路径
● -Path:指定新项的位置的路,如果省略的话表示当前目录,支持多个字符串通过逗号分割
● -ItemType:指定新项目的指定提供者的类型(File 文件,SymbolLink 符合链接,Directory 目录,Junction,HardLink)
● -Value:指定新项的值。 还可以通过管道将值传递给 New-Item
● -Confirm:用于创建操作运行cmdlet之前是否需要确认
● -Force:针对文件夹,不会覆盖,只会返回之前创建的文件夹,针对文件或者注册表会覆盖文件内容
● -WhatIf:该参数描述了如果执行cmdlet将会发生的情况,该cmdlet不执行。
2、Remove-Item 删除项命令
Remove-Item cmdlet 删除一个或多个项。它支持删除许多不同类型的项,包括文件、文件夹、注册表项、变量、别名和函数。
删除当前目录的demo.txt文件
代码语言:javascript复制Remove-item demo.txt
删除当前目录所有扩展名是jpg的文件,文件名不包括*test*的文件
代码语言:javascript复制Remove-Item * -Include *.jpg -Exclude *test*
说明:-Include:包含某个字符串,支持通配符
-Exclude:排除某个字符串,支持通配符
使用递归的方式删除当前目录和子目录中所有的txt文件
代码语言:javascript复制Get-ChildItem * -Include *.txt -Recurse | Remove-Item
说明:Path 的值为 (*) ,表示当前目前的文件。 Include 指定 txt 文件类型,并使用 Recurse 使检索递归。
3、Rename-Item 项重命名
该命令主要是用来给项目进行重命名,支持文件、目录、注册表等文件类型,并且也可以批量重命名操作。
文件重命名,当前demo.txt 文件名修改为 demonew.txt
代码语言:javascript复制Rename-Item demo.txt -NewName "demonew.txt"
重命名该注册表项
代码语言:javascript复制Rename-Item -Path "HKLM:SoftwareMyCompanyAdvertising" -NewName "Marketing"
批量把当前目录的txt文件后缀名修改为log
代码语言:javascript复制Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
输出
代码语言:javascript复制PS E:PowerShell 练习> ls
目录: E:PowerShell 练习
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/7/6 15:41 01
d----- 2023/7/6 15:41 02
-a---- 2023/7/6 15:46 43 demo2.txt
-a---- 2023/7/6 15:46 43 demo3.txt
-a---- 2023/7/6 15:42 43 demonew.txt
PS E:PowerShell 练习> Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
PS E:PowerShell 练习>
PS E:PowerShell 练习> ls
目录: E:PowerShell 练习
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/7/6 15:41 01
d----- 2023/7/6 15:41 02
-a---- 2023/7/6 15:46 43 demo2.log
-a---- 2023/7/6 15:46 43 demo3.log
-a---- 2023/7/6 15:42 43 demonew.log