使用 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