Inspiresan
„Kategorije umjesto direktorija, ili Semantički datotečni sustav za Linux Vitis“,
odlučio sam napraviti svoju verziju alata vitis za PowerShell Core.
Zašto sam počeo to raditi
Prvo, vitis samo za Linux.
Drugo, želim koristiti „cijevi“ u PowerShellu.
Budući da sam htio napraviti multiplatformski alat, izabrao sam .Net Core.
Povijest
Isprva je vladala kaos. Tada su se na disku pojavili folderi.
No kaos je još uvijek vladao. I pojavile su se oznake, kao i podoznake i sinonimi oznaka. No kaos je obuhvatio i njih. Tako su osmišljene kategorije.
Koncept
Datoteke se ne pohranjuju u hijerarhiji foldera, nego u „hrpi“, s određenim kategorijama. Jedna datoteka može pripadati više kategorijama.
Ako trebate pronaći datoteku, praktičnije je unijeti kategorije kojima pripada. To je puno lakše zapamtiti nego u kojim se folderima nalazi.
No, takav datotečni sustav nikako nije pogodan za pohranu koda, izvornika itd.
Namijenjen je za pohranu, na primjer, obiteljskih fotografija, glazbe, dokumenata.
Korištenje
Pa, krenimo s demonstracijom.
Instalirajmo Graphile:
# install.ps1 находится в корневой папке с кодом
PS D:SourcereposGraphile> .install.ps1Prvo inicijaliziramo Graphile u folderu:
# Импортируем установленный модуль
PS C:UsersDellGraphileTest> Import-Module GraphilePowerShell
# Инициализируем Graphile в папке
PS C:UsersDellGraphileTest> Init-Graphile
C:UsersDellGraphileTestgraphile.dbDakle, sve smo postavili. Sada možemo stvoriti novu kategoriju:
PS C:UsersDellGraphileTest> New-Category -Name "music"
musicDodajmo datoteke:
PS C:UsersDellGraphileTest> Get-ChildItem "D:MusicPink Floyd - The Wall" -Recurse -Filter "*.mp3" | foreach { $_.FullName } | foreach {
>> Add-FileToCategory -File $_ -Categories "music"
>> }Onima koji nisu shvatili što sam učinio:
- Dobio sam popis datoteka u folderu
Pink Floyd - The Wall - Svaku datoteku sam pretvorio u punu putanju do nje
- Dodao sam svaku datoteku u kategoriju
music
Sada provjerimo, jesmo li doista dodali datoteke u kategoriju:
PS C:UsersDellGraphileTest> List-Graphiles | Format-TableBit će ispisan popis u formatu:
CategoriesNames Id Categories Name ExtensionDodajmo još kategorija i datoteka:
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" }Provjerimo datoteke:
List-Graphiles -Categories "alan-parsons" | Format-TableKomanda će ispisati sve datoteke koje pripadaju kategoriji alan-parsons.
Više datoteka bogu datotečnih sustava!
New-Category -Name "images"
Get-ChildItem "D:Izgled" -File -Recurse | foreach { $.FullName } | foreach {
Add-FileToCategory -File $_ -Categories "images"
}Provjeravamo:
List-Graphiles -Categories "images" | Format-TableSve radi!
No to je samo početak. Izvezite svoj uobičajeni datotečni sustav u Graphile i dobijte izvrsnu organizaciju datoteka.
Gdje preuzeti Graphile
Evo na GitLabu Graphile.
Licenca MIT, tako da ga možete koristiti čak i u komercijalne svrhe.
Budućnost projekta
Budući da je ovo PowerShell, a ne šala, moguće je napraviti grafičko sučelje za .NET Core.
Kako to učiniti:
- Instalirati paket Microsoft.PowerShell.SDK
- Koristiti klasu PowerShell i pozvati Graphile.
Ako vam se projekt svidio, radite commit-e, merge requesti kreirajte rasprave.
Hvala na čitanju! Koristite i uživajte!
Izvor: habr.com
