Kategori bukan direktori. Alat untuk penyimpanan file yang nyaman

Terinspirasi oleh artikel tersebut


"Kategori bukan direktori, atau sistem file Semantic untuk Linux Vitis",

Saya memutuskan untuk membuat analog saya sendiri tentang utilitas vitis untuk PowerShell Core.


Mengapa saya mulai melakukan ini?


Pertama, vitis untuk Linux.
Kedua, saya ingin menggunakan "pipa" di PowerShell.


Karena saya ingin membuat utilitas lintas platform, saya memilih .Net Core.


Latar belakang


Awalnya ada kekacauan. Kemudian folder muncul di disk.
Tapi kekacauan masih berkuasa. Dan tag muncul, serta subtag dan sinonim untuk tag. Tetapi kekacauan juga menangkap mereka. Dan kategori diciptakan.


Konsep


File tidak disimpan dalam hierarki folder, tetapi dalam tumpukan, dengan kategori tertentu. Satu file bisa masuk ke beberapa kategori.


Jika Anda perlu menemukan file, lebih mudah untuk memasukkan kategori yang menjadi miliknya. Jauh lebih mudah diingat daripada di folder apa itu disimpan.


Tetapi sistem file seperti itu sama sekali tidak cocok untuk menyimpan kode, kode sumber, dll.
Ini dirancang untuk menyimpan, misalnya, foto keluarga, musik, dokumen.


Gunakan


Baiklah, mari kita mulai demonstrasi.


Pasang Graphile:


 # install.ps1       PS D:\Source\repos\Graphile> .\install.ps1 

Pertama, inisialisasi Graphile di folder:


 #    PS C:\Users\Dell\GraphileTest> Import-Module GraphilePowerShell #  Graphile   PS C:\Users\Dell\GraphileTest> Init-Graphile C:\Users\Dell\GraphileTest\graphile.db 

Jadi, kita semua sudah siap. Sekarang Anda dapat membuat kategori baru:


 PS C:\Users\Dell\GraphileTest> New-Category -Name "music" music 

Tambahkan file:


 PS C:\Users\Dell\GraphileTest> Get-ChildItem "D:\Music\Pink Floyd - The Wall" -Recurse -Filter "*.mp3" | foreach { $_.FullName } | foreach { >> Add-FileToCategory -File $_ -Categories "music" >> } 

Bagi mereka yang tidak mengerti apa yang saya lakukan:


  1. Mendapat daftar file di folder Pink Floyd - The Wall
  2. Setiap file dikonversi ke path lengkap ke mereka
  3. Menambahkan setiap file ke kategori music

Sekarang periksa apakah kami benar-benar menambahkan file ke kategori:


 PS C:\Users\Dell\GraphileTest> List-Graphiles | Format-Table 

Daftar akan ditampilkan dalam format:


 CategoriesNames Id Categories Name Extension 

Tambahkan lebih banyak kategori dan file:


 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:\Music\The Alan Parsons Project - Turn of a Friendly Card" -File -Recurse | foreach { $_.FullName } | foreach { Add-FileToCategory -File $_ -Categories "music", "alan-parsons" } 

Periksa file:


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

Perintah akan mencantumkan semua file yang termasuk dalam alan-parsons .


Lebih banyak file ke sistem file dewa!


 New-Category -Name "images" Get-ChildItem "D:\" -File -Recurse | foreach { $.FullName } | foreach { Add-FileToCategory -File $_ -Categories "images" } 

Kami memeriksa:


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

Semuanya bekerja!


Tapi ini baru permulaan. Ekspor sistem file reguler Anda ke Graphile dan dapatkan organisasi file yang hebat.


Tempat mengunduh Graphile


Berikut ini tautan ke GitLab Graphile.


MIT , sehingga Anda dapat menggunakannya bahkan untuk tujuan komersial.


Proyek masa depan


Karena ini adalah PowerShell, bukan khukh-mukhra, Anda dapat membuat shell grafis di bawah .NET Core.


Bagaimana cara melakukannya:


  1. Instal Microsoft.PowerShell.SDK
  2. Gunakan kelas PowerShell dan panggil Graphile.

Jika Anda menyukai proyek ini, buat komitmen, merge request dan buat diskusi.


Terima kasih sudah membaca! Gunakan dan nikmati!

Source: https://habr.com/ru/post/id467701/


All Articles