หมวดหมู่แทนไดเรกทอรี เครื่องมือสำหรับการจัดเก็บไฟล์ที่สะดวก

แรงบันดาลใจ บทความ

"การใช้หมวดหมู่แทนไดเร็กทอรี หรือระบบไฟล์เชิงความหมายสำหรับ" Linux Vitis»

ฉันตัดสินใจสร้างยูทิลิตี้อะนาล็อกของตัวเอง vitis สำหรับ PowerShell Core

ทำไมฉันถึงเริ่มทำเช่นนี้

โอ้โห เร่าร้อน vitis เฉพาะสำหรับ Linux.
ประการที่สอง ฉันต้องการใช้ "ไปป์" ใน PowerShell

เนื่องจากฉันต้องการสร้างยูทิลิตี้ข้ามแพลตฟอร์ม ฉันจึงเลือก .Net Core

ประวัติศาสตร์

ตอนแรกเกิดความวุ่นวาย จากนั้นโฟลเดอร์ก็ปรากฏบนดิสก์
แต่ความวุ่นวายยังคงครอบงำอยู่ และแท็กก็ปรากฏขึ้นรวมถึงแท็กย่อยและคำพ้องความหมายของแท็ก แต่ความวุ่นวายก็เข้าครอบงำพวกเขาเช่นกัน และหมวดหมู่ถูกประดิษฐ์ขึ้น

แนวคิด

ไฟล์ไม่ได้จัดเก็บไว้ในลำดับชั้นของโฟลเดอร์ แต่อยู่ใน "ฮีป" โดยมีหมวดหมู่เฉพาะ ไฟล์หนึ่งสามารถอยู่ในได้หลายประเภท

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

แต่ระบบไฟล์ดังกล่าวไม่เหมาะสำหรับการจัดเก็บโค้ด แหล่งที่มา ฯลฯ
ออกแบบมาเพื่อจัดเก็บ เช่น ภาพถ่ายครอบครัว เพลง เอกสาร

ใช้

เอาล่ะ เรามาเริ่มด้วยการสาธิตกันดีกว่า

ติดตั้งกราไฟท์:

# install.ps1 находится в корневой папке с кодом
PS D:SourcereposGraphile> .install.ps1

ขั้นแรกเราเริ่มต้น Graphile ในโฟลเดอร์:

# Импортируем установленный модуль
PS C:UsersDellGraphileTest> Import-Module GraphilePowerShell
# Инициализируем Graphile в папке
PS C:UsersDellGraphileTest> Init-Graphile
C:UsersDellGraphileTestgraphile.db

ดังนั้นเราจึงเตรียมทุกอย่างไว้แล้ว ตอนนี้คุณสามารถสร้างหมวดหมู่ใหม่:

PS C:UsersDellGraphileTest> New-Category -Name "music"
music

มาเพิ่มไฟล์กัน:

PS C:UsersDellGraphileTest> Get-ChildItem "D:MusicPink Floyd - The Wall" -Recurse -Filter "*.mp3" | foreach { $_.FullName } | foreach {
>> Add-FileToCategory -File $_ -Categories "music"
>> }

สำหรับผู้ที่ไม่เข้าใจสิ่งที่ฉันทำ:

  1. มีรายการไฟล์ในโฟลเดอร์ Pink Floyd - The Wall
  2. แต่ละไฟล์ถูกแปลงเป็นเส้นทางแบบเต็ม
  3. เพิ่มแต่ละไฟล์ในหมวดหมู่ music

ตอนนี้เรามาตรวจสอบว่าเราได้เพิ่มไฟล์ลงในหมวดหมู่จริงหรือไม่:

PS C:UsersDellGraphileTest> List-Graphiles | Format-Table

รายการจะแสดงในรูปแบบ:

CategoriesNames Id Categories Name Extension

มาเพิ่มหมวดหมู่และไฟล์เพิ่มเติม:

New-Category -Name "the-wall"
New-Category -Name "alan-parsons"

List-Graphiles -Categories "music" | foreach { Add-GraphileToCategory -Categories "the-wall" -Files $_.Name }

Get-ChildItem "D:MusicThe Alan Parsons Project - Turn of a Friendly Card" -File -Recurse | foreach { $_.FullName } | foreach { Add-FileToCategory -File $_ -Categories "music", "alan-parsons" }

มาตรวจสอบไฟล์กัน:

List-Graphiles -Categories "alan-parsons" | Format-Table

คำสั่งจะแสดงรายการไฟล์ทั้งหมดที่อยู่ในหมวดหมู่ alan-parsons.

ไฟล์เพิ่มเติมสำหรับเทพแห่งระบบไฟล์!

New-Category -Name "images"
Get-ChildItem "D:Изображения" -File -Recurse | foreach { $.FullName } | foreach {
    Add-FileToCategory -File $_ -Categories "images"
}

เราตรวจสอบ:

List-Graphiles -Categories "images" | Format-Table

ทุกอย่างใช้งานได้!

แต่นี่เป็นเพียงจุดเริ่มต้นเท่านั้น ส่งออกระบบไฟล์ปกติของคุณไปยัง Graphile และรับการจัดระเบียบไฟล์ที่ยอดเยี่ยม

จะดาวน์โหลด Graphile ได้ที่ไหน

ที่นี่ ลิงค์ บน GitLab ของ Graphile

อนุญาต MITเพื่อให้คุณสามารถใช้เพื่อวัตถุประสงค์ทางการค้าได้

อนาคตของโครงการ

เนื่องจากนี่คือ PowerShell และไม่ใช่เรื่องบ้า คุณจึงสามารถสร้างเชลล์กราฟิกสำหรับ .NET Core ได้

วิธีทำ:

  1. ติดตั้ง Microsoft.PowerShell.SDK
  2. ใช้คลาส PowerShell และเรียก Graphile

หากคุณชอบโปรเจ็กต์นี้ ให้คอมมิต merge requestและสร้างการสนทนา

ขอบคุณสำหรับการอ่าน! ใช้มันและสนุก!

ที่มา: will.com

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster