使用 Windows PowerShell 创建目录
-
在 PowerShell 中使用
[System.IO]
命名空间创建目录 - 在 PowerShell 中使用文件系统对象创建目录
-
在 PowerShell 中使用
New-Item
Cmdlet 创建目录 -
在 PowerShell 中使用
md
Legacy 命令创建目录
在 Windows PowerShell 中,有多种方法可以创建可以完全集成到脚本中的文件目录或文件夹。本文将展示如何使用 Windows PowerShell 创建它们。
在 PowerShell 中使用 [System.IO]
命名空间创建目录
使用 system.io
命名空间中的目录 .NET
框架类是可能的。要使用 Directory
类,请使用 CreateDirectory
静态方法并提供新文件夹位置的路径。
此处显示了此技术。
[System.IO.Directory]::CreateDirectory("C:\test\newfolder")
当上面的命令运行时,它返回一个 DirectoryInfo
类。但是,我们不一定推荐这种方法,但它目前正在运行并且可用。
在 PowerShell 中使用文件系统对象创建目录
创建目录的另一种方法是使用 Windows PowerShell 中的 Scripting.FileSystemObject
对象。
此方法与 VBScript 和其他脚本语言用于处理文件系统的对象相同。它快速且相对易于使用。
创建对象后,Scripting.FileSystemObject
公开一个 CreateFolder
方法。CreateFolder
方法接受一个字符串,表示创建文件夹的路径。
运行后,一个对象包含了新创建的目录的路径和其他信息。
$fso = New-Object -ComObject Scripting.FileSystemObject
$fso.CreateFolder('C:\test1')
在 PowerShell 中使用 New-Item
Cmdlet 创建目录
本机 Windows PowerShell 命令也可用于创建目录。一种方法是使用 New-Item
cmdlet。
New-Item -Force -Path c:\test3 -ItemType Directory
使用时,-Force
开关参数将覆盖已创建的现有文件夹。相反,我们可以使用 Test-Path
cmdlet 来检查目录是否存在。
在下面的示例中,我们可以创建一个脚本块来检查目录是否存在。如果目录存在,则不会创建目录。
这种语法是避免 -Force
开关参数的一种方法。
$path = "C:\temp\NewFolder"
if(!(test-path $path))
{
New-Item -ItemType Directory -Path $path
}
假设我们将此命令的输出与前一个 .NET
命令的输出进行比较。结果是一样的,因为 New-Item
cmdlet 和 [System.IO.Directory]::CreateDirectory
命令返回一个 DirectoryInfo
对象。
也可以通过省略 -Path
参数名称并仅提供完整路径作为具有 ItemType
语法的数据类型字符串来缩短 New-Item
命令。此处显示了此修改后的命令。
New-Item c:\test4 -ItemType directory
有些人可能会抱怨在老式的命令解释器 cmd 中创建目录更容易,因为他们只需要键入 md
——而键入 md
无疑比键入 New-Item
命令更容易。
在 PowerShell 中使用 md
Legacy 命令创建目录
前面的示例介绍了使用 Windows PowerShell 使用 md
函数创建目录(文件夹)的第四种方法。
使用 md
命令的优点是速度更快,因为它已经知道你将创建一个目录。因此,你可以保留 ItemType
参数并直接键入完整路径。
md c:\test5
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn