写点什么

【21-9】文件和文件夹

用户头像
耳东
关注
发布于: 2021 年 06 月 16 日
【21-9】文件和文件夹

PowerShell 对于文件和文件夹的操作是同一个 cmdlet ,所有我们一起来看。

创建

New-Item 用于通过使用 -Path 作为文件路径并将 -ItemType 作为 File 来创建文件。


在这个例子中,我们将在 /root 文件夹中创建一个名为 test.txt 的文件。


#!/usr/bin/env pwsh# Author:Erdong# PowerShell v5.1New-Item -Path /root/test.txt -ItemType File
复制代码


输出如下:


[root@erdong ~]# ./file1.ps1
Directory: /root
Mode LastWriteTime Length Name---- ------------- ------ --------- 2021-6-16 下午6:56 0 test.txt
[root@erdong ~]# ll -h-rw-r--r-- 1 root root 0 6月 16 18:56 test.txt
复制代码


如果是创建 Windows 下的目录,文件名中间有空格,可以使用如下方法。


# Author:Erdong# PowerShell v5.1New-Item -Path 'D:\temp\Test Folder\Test File.txt' -ItemType File
复制代码


接下来我们看如何创建一个文件夹


在这个例子中,我们将在 /root 文件夹中创建一个名为 test-folder 的文件夹。


#!/usr/bin/env pwsh# Author:Erdong# PowerShell v5.1New-Item -Path /root/test-folder -ItemType Directory
复制代码

复制文件

Copy-Item 用于通过传递要复制的文件的路径和要复制文件的目标路径来复制文件。


我们将文件 /root/test.txt 复制到 /tmp/test.txt,需要注意的是,目标目录 /tmp 应该是一个已经存在的目录。


#!/usr/bin/env pwsh# Author:Erdong# PowerShell v5.1Copy-Item /root/test.txt /tmp/test.txt
复制代码


可以看到如下输出


[root@localhost ~]# ll -h /tmp/总用量 0-rw-r--r-- 1 root root  0 6月  16 18:56 test.txt
复制代码


如果需要拷贝多个文件可以使用通配符 * 去匹配,如果要拷贝所有文件的话,记得添加 –recurse 参数,可以防止在目标目录里新建一个源目录的文件夹。


我们将文件夹 /root/Test-Folder 复制为 /root/Test-Folder1


#!/usr/bin/env pwsh# Author:Erdong# PowerShell v5.1Copy-Item /root/Test-Folde /root/Test-Folder1
复制代码


使用 -Destination 参数可以递归的复制文件夹


Copy-Item /root/Test-Folde -Destination /root/Test-Folder1
复制代码

移动文件

Move-Item 用于通过传递要移动的文件的路径和要移动文件的目标路径来移动文件。


我们将文件 /root/test.txt 移动到 /tmp/test.txt,


#!/usr/bin/env pwsh# Author:Erdong# PowerShell v5.1Move-Item /root/test.txt /tmp/test.txt
复制代码


我们就可以在 /tmp 下看到 test.txt 文件,/root 下已经没有了 test.txt


移动文件夹和移动文件是一样的,特别说明一下,在移动文件夹的时候,如果目标文件夹不存在会自动创建。

重命名文件

Rename-Item 用于通过传递要重命名的文件的路径和目标名称来重命名文件。


我们将文件 /root/test.txt 重命名为 test1.txt。


测试脚本如下:


#!/usr/bin/env pwsh# Author:Erdong# PowerShell v5.1Rename-Item /root/test.txt test1.txt
复制代码


接下来我们就可以看到文件 test.txt 重命名为 test1.txt。


移动文件夹和移动文件是一样的。

删除文件

Remove-Item cmdlet 用于通过传递要删除的文件的路径来删除文件。


#!/usr/bin/env pwsh# Author:Erdong# PowerShell v5.1Remove-Item /root/test.txt
复制代码


删除文件夹和删除文件是一样的。另外可以使用-Recurse 参数来递归删除。

发布于: 2021 年 06 月 16 日阅读数: 8
用户头像

耳东

关注

还未添加个人签名 2020.05.24 加入

主要研究分享运维技术,专注于监控、CICD、操作系统、云原生领域,公众号【耳东学堂】,知识星球同名,坚持原创,希望能和大家在运维路上结伴而行 邮箱:erdong@mail.erdong.site

评论

发布
暂无评论
【21-9】文件和文件夹