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

简介: 【2月更文挑战第9篇】cmdlet New-Item 将创建新项并设置其值。 可创建的项类型取决于项的位置。 例如,在文件系统 New-Item 中创建文件和文件夹。 在注册表中, New-Item 创建注册表项和条目。


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 练习

image.png

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

image.png

说明:-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

image.png

说明:

-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"

image.png

重命名该注册表项

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

image.png

相关文章
|
3月前
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
【Application Insights】使用Powershell命令向Application Insgihts发送测试数据
|
3月前
|
Java 开发工具 数据安全/隐私保护
【Azure Developer】使用 Powershell az account get-access-token 命令获取Access Token (使用用户名+密码)
【Azure Developer】使用 Powershell az account get-access-token 命令获取Access Token (使用用户名+密码)
|
3月前
|
开发工具 微服务 Windows
【Azure 微服务】PowerShell中,用Connect-ServiceFabricCluster命令无法连接到sf-test.chinaeast2.cloudapp.chinacloudapi.cn:19000 问题分析
【Azure 微服务】PowerShell中,用Connect-ServiceFabricCluster命令无法连接到sf-test.chinaeast2.cloudapp.chinacloudapi.cn:19000 问题分析
|
3月前
这10条Powershell命令有多香,谁用谁知道!
这10条Powershell命令有多香,谁用谁知道!
|
5月前
|
存储 SQL 运维
使用PowerShell进行自动化脚本编写:入门与实战
【6月更文挑战第6天】本文介绍了PowerShell作为Windows系统管理的自动化工具,用于提升效率和减少错误。内容涵盖PowerShell基础,如变量、命令执行、管道、条件和循环语句、函数。实战案例展示了如何用PowerShell脚本进行文件备份。此外,还提及PowerShell的进阶功能,如模块、远程管理和与其他工具集成。学习和应用PowerShell能有效提升IT运维自动化水平。
PowerShell实战:Get-Item命令使用详解
【2月更文挑战第10篇】Get-Item 命令使用频率非常高,主要是获取位于指定位置的项。 一般搭配使用通配符 (*) 来获取项目的包含的项目。如果不使用*的话只是获取当前项的内容。
|
6月前
|
XML 运维 监控
PowerShell实战:Get-Content命令使用详解
【2月更文挑战第12篇】 Get-Content 主要作用是获取路径指定位置的项(文本类文件)的内容,例如文件中的文本或函数的内容。 对于文件,内容一次读取一行,并返回对象的集合,每个对象表示一行内容。
|
6月前
|
运维 数据库
Powershell实战:测试网络请求两个命令介绍
【2月更文挑战第11篇】 Test-Connection 命令将 Internet 控制消息协议 (ICMP) 回显请求数据包或 ping 发送给一台或多台远程计算机并返回回显响应回复。 我们可以使用该命令确定是否可通过 IP 网络ping通特定的计算机。
|
26天前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
21 0