PowerShell Tạo thư mục nếu không tồn tại

Powershell Tao Thu Muc Neu Khong Ton Tai



Bạn có rất nhiều thư mục và muốn tạo một thư mục mới nhưng không biết liệu thư mục đó đã tồn tại hay chưa? Quá trình này có thể mất rất nhiều thời gian vì trước tiên, bạn sẽ tìm kiếm thư mục đó xem nó có tồn tại hay không, sau đó tạo nó nếu nó không tồn tại.

Điều đáng ngạc nhiên là PowerShell có thể giúp bạn tiết kiệm rất nhiều thời gian và công sức nếu biết một chút về kịch bản.







Giữ lấy! Bạn không cần phải học toàn bộ nội dung viết kịch bản cho nhiệm vụ đó. Bởi vì tôi đã cung cấp năm phương pháp để tạo một thư mục nếu không tồn tại kèm theo lời giải thích thích hợp về mọi lệnh được sử dụng trong đó.



Phác thảo nhanh:



Trước khi chuyển sang tập lệnh, hãy tìm hiểu cách kiểm tra xem thư mục có tồn tại hay không, sau đó đến phương pháp tạo thư mục trong PowerShell.





Kiểm tra xem thư mục đã tồn tại trong PowerShell chưa

Các Đường dẫn kiểm tra lệnh được sử dụng để kiểm tra xem thư mục đã tồn tại trong PowerShell chưa. Để kiểm tra xem thư mục có tồn tại hay không, đường dẫn thư mục được chỉ định cho lệnh Test-Path, sử dụng lệnh -Con đường tham số. Đổi lại, lệnh Test-Path trả về ĐÚNG VẬY giá trị nếu nó tồn tại và SAI nếu nó không tồn tại.

Ví dụ: hãy kiểm tra xem thư mục được chỉ định có tồn tại hay không bằng cách sử dụng Đường dẫn kiểm tra yêu cầu:



Đường dẫn kiểm tra -Con đường 'C:\Tài liệu'

Để kiểm tra sự tồn tại của thư mục, trước tiên hãy chỉ định địa chỉ Đường dẫn kiểm tra lệnh và cung cấp đường dẫn thư mục bằng cách sử dụng -Con đường tham số:

Đầu ra là SAI vì thư mục được chỉ định không tồn tại.

Tạo thư mục mới trong PowerShell

Các Vật phẩm mới lệnh tạo một thư mục mới trong PowerShell. Để tạo một thư mục, hãy cung cấp đường dẫn thư mục cho lệnh New-Item bằng cách sử dụng lệnh -Con đường tham số. Quan trọng nhất là sử dụng -Loại sản phẩm tham số để tạo một thư mục và chỉ định Danh mục giá trị. Nếu bạn không chỉ định tham số -ItemType và giá trị Thư mục thì lệnh New-Item sẽ tạo một tệp thay vì một thư mục.

Ví dụ: hãy tạo một thư mục mới bằng cách sử dụng Vật phẩm mới lệnh trong PowerShell:

Vật phẩm mới -Con đường 'C:\Tài liệu' -Loại sản phẩm Danh mục

Để tạo một thư mục mới:

  • Đầu tiên, hãy sử dụng Vật phẩm mới lệnh và chỉ định đường dẫn thư mục sẽ được tạo vào -Con đường tham số.
  • Sau đó, chỉ định Danh mục giá trị để -Loại sản phẩm tham số để yêu cầu bàn điều khiển tạo một thư mục thay vì tệp:

Thư mục mới đã được tạo và thời gian tạo của nó cũng được hiển thị ở đầu ra ở trên.

Tạo thư mục nếu không tồn tại trong PowerShell

Từ truy vấn, có thể thấy rằng nó sẽ là một nếu khác kịch bản, trong đó nêu rõ rằng nếu thư mục không tồn tại thì hãy tạo một thư mục mới. Có năm phương pháp để tạo thư mục nếu không tồn tại trong PowerShell và mỗi phương pháp đều liên quan đến tình huống điều kiện if-else.

Giải pháp nhanh

Đây là giải pháp nhanh chóng để tạo thư mục nếu không tồn tại trong bảng điều khiển PowerShell:

nếu như ( -không ( Đường dẫn kiểm tra -Con đường 'C:\Thư mục mới' ) ) { Vật phẩm mới -Con đường 'C:\Thư mục mới' -Loại sản phẩm Danh mục }

Thư mục được chỉ định không tồn tại và do đó nó được tạo.

1. Tạo thư mục nếu không tồn tại trong PowerShell bằng Test-Path

Các Đường dẫn kiểm tra lệnh kiểm tra sự tồn tại của thư mục và thông báo cho bàn điều khiển biết nó có tồn tại hay không. Lệnh Test-Path và New-Item cùng với lệnh Nếu khác điều kiện giúp tạo thư mục nếu nó không tồn tại trong PowerShell.

Ví dụ: hãy quan sát mã này để tạo một thư mục nếu không tồn tại bằng lệnh Test-Path:

nếu như ( Đường dẫn kiểm tra -Con đường 'C:\Thư mục mới' ) {

Máy chủ ghi 'Thư mục được chỉ định đã tồn tại'
}
khác
{
Vật phẩm mới -Con đường 'C:\Thư mục mới' -Loại sản phẩm Danh mục
}

Để tạo một thư mục bằng cách sử dụng Đường dẫn kiểm tra Vật phẩm mới yêu cầu:

  • Đầu tiên, chúng tôi tạo ra một Nếu như điều kiện, nơi chúng tôi sử dụng Đường dẫn kiểm tra lệnh và chỉ định thư mục bằng cách sử dụng -Con đường để kiểm tra sự tồn tại của thư mục.
  • Nếu thư mục được chỉ định tồn tại thì thông báo sẽ được hiển thị bằng cách sử dụng Máy chủ ghi lệnh cho biết thư mục đã tồn tại và tập lệnh sẽ kết thúc tại đây.
  • Ngược lại chương trình sẽ chuyển sang phần tiếp theo.
  • Trong điều kiện khác, chúng tôi đã sử dụng Vật phẩm mới lệnh và chỉ định đường dẫn thư mục sẽ được tạo.
  • Để giải thích rõ hơn về bảng điều khiển tạo thư mục, chúng tôi đã sử dụng -Loại sản phẩm thuộc tính và chỉ định giá trị Danh mục :

Đầu ra: Thư mục không tồn tại và do đó thư mục mới được tạo trong thư mục được chỉ định.

2. Tạo thư mục nếu không tồn tại trong PowerShell bằng Get-Item

Các Nhận vật phẩm lệnh lấy tập tin hoặc thư mục từ vị trí được chỉ định. Lệnh Get-Item cũng có thể kiểm tra sự tồn tại của thư mục bằng điều kiện if.

Đây là cách bạn có thể tạo thư mục nếu không tồn tại trong PowerShell bằng lệnh Get-Item:

nếu như ( Nhận vật phẩm -Con đường 'C:\Tài liệu' -LỗiHành động Phớt lờ ) {
Máy chủ ghi 'Tập tin đã tồn tại'
}
khác {
Vật phẩm mới -Dài dòng 'C:\Tài liệu' -Loại sản phẩm Danh mục
}

Để tạo một thư mục nếu nó không tồn tại, hãy sử dụng Nhận vật phẩm yêu cầu:

  • Đầu tiên, tạo một Nếu như điều kiện, nơi sử dụng Nhận vật phẩm lệnh và chỉ định đường dẫn thư mục bằng cách sử dụng -Con đường tham số để kiểm tra xem nó đã tồn tại hay chưa.
  • Ngoài ra, hãy sử dụng -LỗiHành động tham số và chỉ định Phớt lờ giá trị để bỏ qua các lỗi có thể xảy ra trong quá trình thực thi mã.
  • Nếu thư mục đã tồn tại, bảng điều khiển sẽ hiển thị thông báo cho biết thư mục đã tồn tại bằng cách sử dụng Máy chủ ghi yêu cầu.
  • Nếu thư mục không tồn tại, chương trình sẽ chuyển sang điều kiện khác nơi thư mục mới sẽ được tạo.
  • Trong điều kiện khác, sử dụng Vật phẩm mới lệnh, chỉ định đường dẫn thư mục sẽ được tạo và sử dụng -Loại sản phẩm tham số có giá trị Danh mục được chỉ định cho nó.
  • Bên cạnh đó, hãy chỉ rõ -dài dòng tham số để có được đầu ra chi tiết hơn:

Ảnh chụp màn hình xác nhận rằng thư mục được chỉ định không tồn tại và do đó thư mục mới đã được tạo.

3. Tạo thư mục nếu không tồn tại trong PowerShell bằng Get-ChildItem

Các Nhận-ConItem lệnh lấy các tập tin hoặc thư mục từ thư mục đã cho. Nó có thể được sử dụng với lệnh New-Item và điều kiện If-else để tạo thư mục nếu không tồn tại trong PowerShell.

Đây là mã ví dụ để tạo một thư mục nếu không tồn tại với sự trợ giúp của lệnh Get-ChildItem:

nếu như ( Nhận-ConItem -Con đường 'C:\Tài liệu' -LỗiHành động Phớt lờ )
{
Máy chủ ghi 'Thư mục đã tồn tại'
}
khác
{
Vật phẩm mới 'C:\Tài liệu' -Loại sản phẩm Danh mục
}

Ghi chú: Giải thích mã cho đoạn mã trên cũng giống như đối với đoạn mã Nhận vật phẩm lệnh ngoại trừ Nhận-ConItem yêu cầu:

Thư mục được chỉ định không tồn tại và do đó thư mục mới đã được tạo.

4. Tạo thư mục nếu không tồn tại trong PowerShell bằng Test-Path và Mkdir

Các mkdir lệnh tạo một thư mục trong PowerShell. Nó có bí danh md , cũng có chức năng tương tự như lệnh Mkdir. Lệnh này cũng có thể tạo một thư mục nếu không tồn tại bằng cách kết hợp lệnh Test-Path và điều kiện if-else.

Dưới đây là ví dụ về tạo thư mục nếu không tồn tại trong PowerShell bằng lệnh md và Test-Path:

nếu như ( Đường dẫn kiểm tra -Con đường 'C:\Thư mục' ) {

Máy chủ ghi 'Thư mục đã tồn tại'
}
khác
{
md 'C:\Thư mục'
}

Để tạo một thư mục nếu nó không tồn tại:

  • Đầu tiên, tạo Nếu như điều kiện và chỉ định Đường dẫn kiểm tra lệnh cùng với thư mục để kiểm tra xem nó có tồn tại hay không.
  • Nếu thư mục tồn tại, hãy kết thúc mã ở đây và in thư mục đã tồn tại.
  • Ngược lại, hãy tạo một thư mục bằng cách sử dụng md lệnh bằng cách chỉ định tên thư mục và đường dẫn:

Kết quả đầu ra cho thấy thư mục không tồn tại và do đó thư mục mới đã được tạo.

5. Tạo thư mục nếu không tồn tại trong PowerShell bằng [System.IO.File]::Exists()

Các [System.IO.File]::Exists() lệnh kiểm tra xem thư mục được chỉ định có tồn tại hay không. Nó có thể tạo thư mục trong PowerShell nếu không tồn tại với sự kết hợp của điều kiện if-else và lệnh New-Item.

Đây là cách bạn có thể tạo thư mục nếu không tồn tại trong PowerShell bằng lệnh [System.IO.File]::Exists():

nếu như ( [ System.IO.Directory ] ::Tồn tại ( 'C:\Docs' ) )
{
Máy chủ ghi 'Thư mục đã tồn tại'
}
khác
{
Vật phẩm mới 'C:\Docs' -Loại sản phẩm Danh mục
}

Trong đoạn mã trên:

  • Đầu tiên, tạo một Nếu như điều kiện và chỉ định [System.IO.Directory]::Exists(Đường dẫn thư mục) ra lệnh bên trong nó để kiểm tra xem thư mục đó có tồn tại hay không.
  • Nếu thư mục được tìm thấy thì bảng điều khiển sẽ in rằng thư mục đó tồn tại.
  • Ngược lại, nó sẽ tạo thư mục đó bằng cách sử dụng Vật phẩm mới yêu cầu:

Thư mục được chỉ định không tồn tại và sau đó một thư mục mới sẽ được tạo bằng lệnh New-Item.

Mẹo bổ sung: Tạo thư mục nếu nó đã tồn tại trong PowerShell

Các -Lực lượng tham số với Vật phẩm mới lệnh được sử dụng để ghi đè lên thư mục hiện có trong PowerShell. Tham số -Force ghi đè mục hiện có trong đường dẫn đã chỉ định trong PowerShell. Để tạo một thư mục nếu nó đã tồn tại, chỉ cần thêm tham số -Force cùng với lệnh New-Item.

Đây là cách bạn có thể ghi đè lên thư mục hiện có:

Vật phẩm mới -Con đường 'C:\Tài liệu' -Loại sản phẩm Danh mục -Lực lượng

Để tạo thư mục nếu nó đã tồn tại trong PowerShell:

  • Đầu tiên, sử dụng lệnh New-Item và chỉ định thư mục sẽ được tạo bằng tham số -path.
  • Sau đó, sử dụng tham số -ItemType và chỉ định giá trị để báo cho bảng điều khiển tạo thư mục.
  • Cuối cùng, để ghi đè lên thư mục hiện có, hãy sử dụng tham số -Force:

Thư mục được ghi đè thành công vào đường dẫn đã chỉ định.

Phần kết luận

Để tạo một thư mục nếu chưa tồn tại, trước tiên hãy kiểm tra sự tồn tại của thư mục đó bằng cách sử dụng lệnh Đường dẫn kiểm tra yêu cầu. Sau đó, sử dụng Vật phẩm mới lệnh tạo thư mục nếu nó chưa tồn tại. Để thực hiện thao tác này trong một lần thì bạn cần sử dụng nếu khác condition cùng với lệnh Test-Path và lệnh New-Item mà tôi đã trình bày ở Phương pháp 1 trong bài viết này.