PowerShell实战:文件操作相关命令笔记

2023-11-25 08:42:48 浏览数 (1)

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

0 人点赞