1、New-Item 创建新项命令
cmdlet New-Item 将创建新项并设置其值。 可创建的项类型取决于项的位置。 例如,在文件系统 New-Item 中创建文件和文件夹。 在注册表中, New-Item 创建注册表项和条目。
New-Item 还可以设置它创建的项的值。 例如,在创建新文件时, New-Item 可以向文件添加初始内容。
在电脑E盘创建一个“PowerShell 练习”目录
New-item -Path "E:\" -Name "PowerShell 练习" -ItemType "directory"
输出
目录: E:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2023/7/6 15:40 PowerShell 练习
PowerShell 练习一次性创建两个目录
New-Item -ItemType "directory" -Path "E:\PowerShell 练习\01","E:\PowerShell 练习\02"
输出:
目录: E:\PowerShell 练习 Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2023/7/6 15:41 01 d----- 2023/7/6 15:41 02
说明:-Path 支持多个字符串,逗号分割
创建文件示例
New-Item -Path . -Name "demo.txt" -ItemType "file" -Value "使用PowerShell 创建一个文件demo.txt"
输出:
目录: 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文件
Remove-item demo.txt
删除当前目录所有扩展名是jpg的文件,文件名不包括*test*的文件
Remove-Item * -Include *.jpg -Exclude *test*
说明:-Include:包含某个字符串,支持通配符
-Exclude:排除某个字符串,支持通配符
使用递归的方式删除当前目录和子目录中所有的txt文件
Get-ChildItem * -Include *.txt -Recurse | Remove-Item
说明:Path 的值为 (*) ,表示当前目前的文件。 Include 指定 txt 文件类型,并使用 Recurse 使检索递归。
3、Rename-Item 项重命名
该命令主要是用来给项目进行重命名,支持文件、目录、注册表等文件类型,并且也可以批量重命名操作。
文件重命名,当前demo.txt 文件名修改为 demonew.txt
Rename-Item demo.txt -NewName "demonew.txt"
重命名该注册表项
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
批量把当前目录的txt文件后缀名修改为log
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
输出
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