PowerShell สร้างโฟลเดอร์หากไม่มีอยู่

Powershell Srang Foldexr Hak Mimi Xyu



คุณมีโฟลเดอร์มากมายและต้องการสร้างโฟลเดอร์ใหม่ แต่ไม่รู้ว่ามีโฟลเดอร์นั้นอยู่แล้วหรือไม่? กระบวนการนี้อาจใช้เวลานาน เนื่องจากก่อนอื่น คุณจะต้องค้นหาโฟลเดอร์นั้นไม่ว่าจะมีอยู่แล้วหรือไม่ จากนั้นจึงสร้างขึ้นใหม่หากไม่มีอยู่

น่าประหลาดใจที่ PowerShell สามารถช่วยคุณประหยัดเวลาและความพยายามได้มากหากคุณรู้จักการเขียนสคริปต์เพียงเล็กน้อย







เดี๋ยว! คุณไม่จำเป็นต้องเรียนรู้การเขียนสคริปต์ทั้งหมดสำหรับงานนั้น เนื่องจากฉันได้ให้วิธีการสร้างโฟลเดอร์ไว้ห้าวิธีหากไม่มีคำอธิบายที่ถูกต้องของทุกคำสั่งที่ใช้ในนั้น



โครงร่างด่วน:



ก่อนที่จะไปยังสคริปต์ มาเรียนรู้วิธีตรวจสอบว่ามีโฟลเดอร์อยู่หรือไม่ จากนั้นไปที่วิธีการสร้างโฟลเดอร์ใน PowerShell





ตรวจสอบว่ามีโฟลเดอร์อยู่แล้วใน PowerShell หรือไม่

ที่ ทดสอบเส้นทาง คำสั่งใช้เพื่อตรวจสอบว่ามีโฟลเดอร์อยู่แล้วใน PowerShell หรือไม่ หากต้องการตรวจสอบว่ามีโฟลเดอร์อยู่หรือไม่ พาธของโฟลเดอร์จะถูกระบุให้กับคำสั่ง Test-Path โดยใช้ -เส้นทาง พารามิเตอร์. ในทางกลับกัน คำสั่ง Test-Path จะส่งกลับ จริง มูลค่าถ้ามันมีอยู่และ เท็จ ถ้ามันไม่มีอยู่

ตัวอย่างเช่น ลองตรวจสอบว่ามีโฟลเดอร์ที่ระบุอยู่หรือไม่ใช้งาน ทดสอบเส้นทาง สั่งการ:



ทดสอบเส้นทาง -เส้นทาง 'ค:\เอกสาร'

หากต้องการตรวจสอบการมีอยู่ของโฟลเดอร์ ขั้นแรก ให้ระบุไฟล์ ทดสอบเส้นทาง คำสั่งและระบุเส้นทางโฟลเดอร์โดยใช้ -เส้นทาง พารามิเตอร์:

ผลลัพธ์ก็คือ เท็จ เนื่องจากไม่มีโฟลเดอร์ที่ระบุ

สร้างโฟลเดอร์ใหม่ใน PowerShell

ที่ ไอเท็มใหม่ คำสั่งสร้างโฟลเดอร์ใหม่ใน PowerShell หากต้องการสร้างไดเร็กทอรี ให้ระบุพาธไดเร็กทอรีให้กับคำสั่ง New-Item โดยใช้ -เส้นทาง พารามิเตอร์. ที่สำคัญที่สุดคือใช้ -ประเภทรายการ พารามิเตอร์เพื่อสร้างโฟลเดอร์และระบุ ไดเรกทอรี ค่า. หากคุณไม่ระบุพารามิเตอร์ -ItemType และค่า Directory คำสั่ง New-Item จะสร้างไฟล์แทนโฟลเดอร์

ตัวอย่างเช่น เรามาสร้างโฟลเดอร์ใหม่โดยใช้ไฟล์ ไอเท็มใหม่ คำสั่งใน PowerShell:

ไอเท็มใหม่ -เส้นทาง 'ค:\เอกสาร' -ประเภทรายการ ไดเรกทอรี

หากต้องการสร้างโฟลเดอร์ใหม่:

  • ขั้นแรกให้ใช้ ไอเท็มใหม่ และระบุเส้นทางโฟลเดอร์ที่จะสร้างไปยัง -เส้นทาง พารามิเตอร์.
  • หลังจากนั้นให้ระบุ ไดเรกทอรี มูลค่าให้กับ -ประเภทรายการ พารามิเตอร์เพื่อบอกให้คอนโซลสร้างโฟลเดอร์แทนไฟล์:

สร้างโฟลเดอร์ใหม่แล้ว และเวลาในการสร้างจะปรากฏในเอาต์พุตด้านบนด้วย

สร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell

จากการสอบถามจะสังเกตได้ว่ามันจะเป็น ถ้า-อย่างอื่น สถานการณ์ซึ่งระบุว่าหากไม่มีโฟลเดอร์อยู่ ให้สร้างโฟลเดอร์ใหม่ มีห้าวิธีในการสร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell และแต่ละวิธีเกี่ยวข้องกับสถานการณ์จำลองเงื่อนไข if-else

วิธีแก้ปัญหาด่วน

ต่อไปนี้เป็นวิธีแก้ปัญหาอย่างรวดเร็วในการสร้างโฟลเดอร์หากไม่มีอยู่ในคอนโซล PowerShell:

ถ้า ( -ไม่ ( ทดสอบเส้นทาง -เส้นทาง 'C:\โฟลเดอร์ใหม่' ) ) { ไอเท็มใหม่ -เส้นทาง 'C:\โฟลเดอร์ใหม่' -ประเภทรายการ ไดเรกทอรี }

ไม่มีไดเร็กทอรีที่ระบุ จึงถูกสร้างขึ้น

1. สร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell โดยใช้ Test-Path

ที่ ทดสอบเส้นทาง คำสั่งตรวจสอบการมีอยู่ของโฟลเดอร์และแจ้งให้คอนโซลทราบว่ามีอยู่หรือไม่ คำสั่ง Test-Path และ New-Item พร้อมกับ ถ้า-อย่างอื่น เงื่อนไขช่วยสร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell

ตัวอย่างเช่น ลองสังเกตโค้ดนี้เพื่อสร้างโฟลเดอร์หากไม่มีอยู่โดยใช้คำสั่ง Test-Path:

ถ้า ( ทดสอบเส้นทาง -เส้นทาง 'C:\โฟลเดอร์ใหม่' ) {

เขียน-Host 'มีโฟลเดอร์ที่ระบุอยู่แล้ว'
}
อื่น
{
ไอเท็มใหม่ -เส้นทาง 'C:\โฟลเดอร์ใหม่' -ประเภทรายการ ไดเรกทอรี
}

เพื่อสร้างโฟลเดอร์โดยใช้ ทดสอบเส้นทาง และ ไอเท็มใหม่ สั่งการ:

  • ขั้นแรกเราสร้างไฟล์ ถ้า สภาพที่เราใช้ ทดสอบเส้นทาง คำสั่งและระบุโฟลเดอร์โดยใช้ -เส้นทาง เพื่อตรวจสอบการมีอยู่ของโฟลเดอร์
  • หากมีโฟลเดอร์ที่ระบุอยู่ ข้อความจะแสดงโดยใช้ เขียน-Host คำสั่งที่ระบุว่ามีโฟลเดอร์อยู่แล้ว และสคริปต์จะสิ้นสุดที่นี่
  • มิฉะนั้นโปรแกรมจะย้ายไปส่วนถัดไป
  • ในเงื่อนไขอื่นเราใช้ ไอเท็มใหม่ คำสั่งและระบุเส้นทางโฟลเดอร์ที่จะสร้าง
  • เพื่ออธิบายคอนโซลที่สร้างโฟลเดอร์ให้ชัดเจนยิ่งขึ้น เราใช้ไฟล์ -ประเภทรายการ คุณสมบัติและระบุมูลค่า ไดเรกทอรี : :

เอาท์พุท: ไม่มีโฟลเดอร์อยู่ จึงมีการสร้างโฟลเดอร์ใหม่ในไดเร็กทอรีที่ระบุ

2. สร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell โดยใช้ Get-Item

ที่ รับรายการ คำสั่งรับไฟล์หรือโฟลเดอร์จากตำแหน่งที่ระบุ คำสั่ง Get-Item ยังสามารถตรวจสอบการมีอยู่ของโฟลเดอร์โดยใช้เงื่อนไข if

นี่คือวิธีที่คุณสามารถสร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell โดยใช้คำสั่ง Get-Item:

ถ้า ( รับรายการ -เส้นทาง 'ค:\เอกสาร' -ข้อผิดพลาดการดำเนินการ ไม่สนใจ ) {
เขียน-Host 'ไฟล์มีอยู่แล้ว'
}
อื่น {
ไอเท็มใหม่ -รายละเอียด 'ค:\เอกสาร' -ประเภทรายการ ไดเรกทอรี
}

หากต้องการสร้างโฟลเดอร์หากไม่มีอยู่ให้ใช้ไฟล์ รับรายการ สั่งการ:

  • ขั้นแรกให้สร้างไฟล์ ถ้า สภาพที่ใช้ รับรายการ คำสั่งและระบุเส้นทางโฟลเดอร์โดยใช้ -เส้นทาง พารามิเตอร์เพื่อตรวจสอบว่ามีอยู่แล้วหรือไม่
  • นอกจากนี้ให้ใช้ -ข้อผิดพลาดการดำเนินการ พารามิเตอร์และระบุ ไม่สนใจ ค่าเพื่อละเว้นข้อผิดพลาดที่อาจเกิดขึ้นระหว่างการเรียกใช้โค้ด
  • หากมีโฟลเดอร์อยู่แล้วคอนโซลจะแสดงข้อความว่ามีโฟลเดอร์อยู่แล้วโดยใช้ เขียน-Host สั่งการ.
  • หากไม่มีโฟลเดอร์นั้น โปรแกรมจะย้ายไปยังเงื่อนไขอื่นที่จะสร้างโฟลเดอร์ใหม่
  • ในเงื่อนไข else ให้ใช้ ไอเท็มใหม่ คำสั่งระบุเส้นทางโฟลเดอร์ที่จะสร้างและใช้ -ประเภทรายการ พารามิเตอร์ที่มีค่า ไดเรกทอรี ระบุไว้
  • ข้างๆ ระบุด้วย -รายละเอียด พารามิเตอร์เพื่อให้ได้ผลลัพธ์ที่มีรายละเอียดมากขึ้น:

ภาพหน้าจอยืนยันว่าไม่มีโฟลเดอร์ที่ระบุ ดังนั้นจึงมีการสร้างโฟลเดอร์ใหม่

3. สร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell โดยใช้ Get-ChildItem

ที่ รับ ChildItem คำสั่งรับไฟล์หรือโฟลเดอร์จากไดเร็กทอรีที่กำหนด สามารถใช้กับคำสั่ง New-Item และเงื่อนไข If-else เพื่อสร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell

นี่คือโค้ดตัวอย่างในการสร้างโฟลเดอร์หากไม่มีอยู่โดยใช้คำสั่ง Get-ChildItem:

ถ้า ( รับ ChildItem -เส้นทาง 'ค:\เอกสาร' -ข้อผิดพลาดการดำเนินการ ไม่สนใจ )
{
เขียน-Host 'มีโฟลเดอร์อยู่แล้ว'
}
อื่น
{
ไอเท็มใหม่ 'ค:\เอกสาร' -ประเภทรายการ ไดเรกทอรี
}

บันทึก: คำอธิบายโค้ดสำหรับตัวอย่างข้างต้นเหมือนกับคำอธิบายของ รับรายการ คำสั่งยกเว้น รับ ChildItem สั่งการ:

ไม่มีโฟลเดอร์ที่ระบุ จึงมีการสร้างโฟลเดอร์ใหม่

4. สร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell โดยใช้ Test-Path และ Mkdir

ที่ mkdir คำสั่งสร้างโฟลเดอร์ใน PowerShell มันมีนามแฝง แพทยศาสตร์ ซึ่งทำหน้าที่เหมือนกับคำสั่ง Mkdir เช่นกัน คำสั่งนี้ยังสามารถสร้างโฟลเดอร์ได้หากไม่มีอยู่ด้วยการรวมกันของคำสั่ง Test-Path และเงื่อนไข if-else

นี่คือตัวอย่างของการสร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell โดยใช้คำสั่ง md และ Test-Path:

ถ้า ( ทดสอบเส้นทาง -เส้นทาง 'ค:\โฟลเดอร์' ) {

เขียน-Host 'มีโฟลเดอร์อยู่แล้ว'
}
อื่น
{
แพทยศาสตร์ 'ค:\โฟลเดอร์'
}

หากต้องการสร้างโฟลเดอร์หากไม่มีอยู่:

  • ขั้นแรกให้สร้าง ถ้า เงื่อนไขและระบุ ทดสอบเส้นทาง คำสั่งพร้อมกับโฟลเดอร์เพื่อตรวจสอบว่ามีอยู่หรือไม่
  • หากมีโฟลเดอร์อยู่ ให้จบโค้ดที่นี่แล้วพิมพ์โฟลเดอร์ที่มีอยู่แล้ว
  • มิฉะนั้นให้สร้างโฟลเดอร์โดยใช้ไฟล์ แพทยศาสตร์ คำสั่งโดยระบุชื่อโฟลเดอร์และเส้นทาง:

ผลลัพธ์แสดงว่าไม่มีโฟลเดอร์อยู่ จึงสร้างโฟลเดอร์ใหม่ขึ้นมา

5. สร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell โดยใช้ [System.IO.File]::Exists()

ที่ [System.IO.File]::มีอยู่() คำสั่งตรวจสอบว่ามีโฟลเดอร์ที่ระบุอยู่หรือไม่ สามารถสร้างโฟลเดอร์ใน PowerShell ได้หากไม่มีอยู่ด้วยการรวมกันของเงื่อนไข if-else และคำสั่ง New-Item

นี่คือวิธีที่คุณสามารถสร้างโฟลเดอร์หากไม่มีอยู่ใน PowerShell โดยใช้คำสั่ง [System.IO.File]::Exists():

ถ้า ( [ System.IO.ไดเรกทอรี ] ::มีอยู่จริง ( 'ค:\เอกสาร' ) )
{
เขียน-Host 'มีโฟลเดอร์อยู่แล้ว'
}
อื่น
{
ไอเท็มใหม่ 'ค:\เอกสาร' -ประเภทรายการ ไดเรกทอรี
}

ในโค้ดด้านบน:

  • ขั้นแรกให้สร้างไฟล์ ถ้า เงื่อนไขและระบุ [System.IO.Directory]::มีอยู่ (โฟลเดอร์เส้นทาง) คำสั่งข้างในเพื่อตรวจสอบว่าโฟลเดอร์นั้นมีอยู่หรือไม่
  • หากพบไดเร็กทอรี คอนโซลจะพิมพ์ว่ามีโฟลเดอร์อยู่
  • มิฉะนั้นจะสร้างโฟลเดอร์นั้นโดยใช้ไฟล์ ไอเท็มใหม่ สั่งการ:

ไม่มีโฟลเดอร์ที่ระบุ จากนั้นโฟลเดอร์ใหม่จะถูกสร้างขึ้นโดยใช้คำสั่ง New-Item

เคล็ดลับโบนัส: สร้างโฟลเดอร์หากมีอยู่แล้วใน PowerShell

ที่ -บังคับ พารามิเตอร์ด้วย ไอเท็มใหม่ คำสั่งใช้เพื่อเขียนทับโฟลเดอร์ที่มีอยู่ใน PowerShell พารามิเตอร์ -Force จะเขียนทับรายการที่มีอยู่ในเส้นทางที่ระบุใน PowerShell หากต้องการสร้างโฟลเดอร์หากมีอยู่แล้ว เพียงเพิ่มพารามิเตอร์ -Force พร้อมกับคำสั่ง New-Item

นี่คือวิธีที่คุณสามารถเขียนทับโฟลเดอร์ที่มีอยู่:

ไอเท็มใหม่ -เส้นทาง 'ค:\เอกสาร' -ประเภทรายการ ไดเรกทอรี -บังคับ

หากต้องการสร้างโฟลเดอร์หากมีอยู่แล้วใน PowerShell:

  • ขั้นแรก ให้ใช้คำสั่ง New-Item และระบุโฟลเดอร์ที่จะสร้างโดยใช้พารามิเตอร์ -path
  • จากนั้น ใช้พารามิเตอร์ -ItemType และระบุค่าเพื่อบอกให้คอนโซลสร้างโฟลเดอร์
  • สุดท้าย หากต้องการเขียนทับโฟลเดอร์ที่มีอยู่ให้ใช้พารามิเตอร์ -Force:

เขียนทับโฟลเดอร์ในเส้นทางที่ระบุได้สำเร็จ

บทสรุป

หากต้องการสร้างโฟลเดอร์หากไม่มีอยู่ ขั้นแรก ให้ตรวจสอบการมีอยู่ของโฟลเดอร์โดยใช้ ทดสอบเส้นทาง สั่งการ. จากนั้นใช้ ไอเท็มใหม่ คำสั่งให้สร้างโฟลเดอร์หากไม่มีอยู่ หากต้องการดำเนินการนี้ในครั้งเดียว คุณต้องใช้ ถ้า-อย่างอื่น เงื่อนไขพร้อมกับคำสั่ง Test-Path และคำสั่ง New-Item ซึ่งฉันได้สาธิตไปแล้วในวิธีที่ 1 ในบทความนี้