当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在 PowerShell 中创建文件夹

作者:精品下载站 日期:2024-12-14 18:43:52 浏览:13 分类:玩电脑

如何在 PowerShell 中创建文件夹


在 Windows 中始终可以通过命令行工具创建新文件夹。我们可以在旧命令提示符中使用命令mkdir。但是如何在 PowerShell 中创建文件夹呢?您也可以使用命令 mkdir,但还有更好的方法。

在PowerShell中,我们可以使用cmdlet New-Item来创建一个新目录。此 cmdlet 比旧的 mkdir 命令更强大。

在本文中,我将向您展示如何在 PowerShell 中创建带有或不带有子目录的文件夹等等!

Powershell 创建文件夹

让我们从基础知识开始,要在 PowerShell 中创建新目录,我们将使用 cmdlet New-Item。此 cmdlet 可用于创建文件、文件夹或符号链接。在本文中,我们将重点介绍创建文件夹。

要创建新目录,我们需要指定要创建文件夹的路径以及新文件夹的名称:

New-Item -Path "c:\temp\" -Name "testfolder" -ItemType Directory

[玩转系统] 如何在 PowerShell 中创建文件夹

我们甚至可以通过在 -path 参数中包含新文件夹名称并将 -ItemType 替换为 -Type 来缩短此长度

# Create a new folder "testfolder-b" in the path c:\temp
New-Item -Path "c:\temp\testfolder-b" -Type Directory

# You can even leave out the path paremeter label
New-Item "c:\temp\testfolder-b" -Type Directory

就我个人而言,我更喜欢在脚本中使用 -Name 参数,因为它可以让其他人更轻松地阅读您的代码并查看在何处创建了哪个新文件夹。

在当前位置创建新目录

要在 PowerShell 脚本的当前位置(或 PowerShell 会话的工作位置)创建一个新目录,我们只需省略 -path 参数即可。另一个更具可读性的选项是为当前路径指定 .

# Create a new directory in the current location
New-Item -Name "testfolder-c" -Type Directory

# Same result
New-Item -Path '.\testfolder-c' -Type Directory

创建多个文件夹

也可以一次创建多个文件夹。为此,我们基本上可以使用两种方法。我们可以循环遍历文件夹数组来创建或在数组字符串中指定多个文件夹。

如果您只需要创建少量文件夹,那么下面的选项是最方便使用的选项:

New-Item -Path "c:\temp\folder1","c:\temp\folder2","c:\temp\folder3" -Type Directory

[玩转系统] 如何在 PowerShell 中创建文件夹

另一种选择是使用 ForEach-Object 循环。此方法可以与简单数组一起使用,也可以用于从 CSV 文件创建文件夹,例如:

$folders = (
    "folder4",
    "folder5",
    "folder6"
)

$folders | ForEach {New-Item -Path "c:\temp\" -Name $_ -Type Directory}

在下面的示例中,我有一个简单的 CSV 文件,其中仅包含文件夹的名称。因此,我们需要添加一个标头以便能够在 foreach 循环中引用文件夹名称。当然,您也可以直接在 Import-CSV 之后通过管道传输 ForEach 循环。

$folders = Import-CSV -Path C:\temp\example.csv -Header foldername
$folders | ForEach {New-Item -Path "c:\temp\" -Name $_.foldername -Type Directory}

创建文件夹和子文件夹

使用PowerShell创建文件夹的优点之一是我们可以使用单个命令创建文件夹和子文件夹。例如,当您需要为新项目创建相同的文件夹结构时,此方法非常方便。

当父文件夹丢失时,New-Item cmdlet 将自动创建父文件夹。例如,如果我们想在文件夹 marketing 中创建目录budget,那么我们只需要指定名称“marketingudget”。如果文件夹 marketing 不存在,则 New-Item cmdlet 将自动创建它。

[玩转系统] 如何在 PowerShell 中创建文件夹

在上面的示例中,我在 -Name 参数中指定了新文件夹。但这是没有必要的。您还可以在 -Path 参数中指定完整路径,或在 -Name 参数中指定父路径和仅子文件夹。下面的命令都会给出相同的结果:

# All these commands will create the folder marketing and budget if they don't exist:
New-Item -Path "c:\temp\" -Name "marketing\budget" -Type Directory

New-Item -Path "c:\temp\marketing" -Name "budget" -Type Directory

New-Item -Path "c:\temp\marketing\budget" -Type Directory

使用通配符创建子文件夹

new-item cmdlet 的另一个强大功能是能够在路径参数中使用通配符。现在您可能想知道为什么在使用 PowerShell 创建文件夹时需要它。但当您需要向多个文件夹添加子文件夹时,此方法确实很方便。

例如,您为每个客户都有一个文件夹。系统会要求您为每个客户端创建一个名为contracts的新子文件夹。您可以简单地使用通配符,而不是首先使用 Get-ChildItem cmdlet 获取每个目录:

New-Item -Path "c:\temp\*" -Name "contracts" -Type Directory

可以看到,在路径c:emp的每个文件夹中都创建了子文件夹contracts:

[玩转系统] 如何在 PowerShell 中创建文件夹

覆盖文件夹并使用测试路径

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯