Inkurajuar nga
«Kategoritë në vend të direktorive, ose Sistemi i Skedarëve Semantik për Linux Vitis»,
vendosa të bëj analogun tim të utilitarit vitis për PowerShell Core.
Pse fillova ta bëja këtë
Së pari, vitis vetëm për Linux.
Së dyti, do të doja të përdorja «tubat» në PowerShell.
Duke qenë se dëshiroja të krijoja një utilitar shumëplatformësh, zgjodha .Net Core.
Pas historia
Fillimisht kishte kaos. Pastaj ndodhën dosjet.
Por kaosi ende mbretëronte. U krijuan etiketa, si dhe nënetiketa dhe sinonime të etiketave. Por kaosi i kaploi ato. Dhe u shpikën kategoritë.
Koncepsi
Skedarët ruhen jo në një hierarki dosjesh, por në një «grumbull», me kategori të caktuara. Një skedar mund të përkasë në disa kategori.
Nëse duhet të gjejmë një skedar, është më e lehtë të shkruajmë kategoritë që i përkasin. Kjo është shumë më e lehtë për t'u mbajtur mend sesa në cilat dosje ruhet.
Por një sistem skedarësh i tillë në asnjë mënyrë nuk është i përshtatshëm për ruajtjen e kodit, burimeve dhe etj.
Ai është i destinuar për ruajtjen, për shembull, të fotografive familjare, muzikës, dokumenteve.
Përdorimi
Mirë, le të fillojmë me demonstrimin.
Të instalojmë Graphile:
# install.ps1 находится в корневой папке с кодом
PS D:SourcereposGraphile> .install.ps1Së pari, inicializojmë Graphile në dosje:
# Импортируем установленный модуль
PS C:UsersDellGraphileTest> Import-Module GraphilePowerShell
# Инициализируем Graphile в папке
PS C:UsersDellGraphileTest> Init-Graphile
C:UsersDellGraphileTestgraphile.dbTani, e kemi gjithçka të konfigurume. Tani mund të krijojmë një kategori të re:
PS C:\Users\Dell\GraphileTest> New-Category -Name "music"
muzikShtojmë skedarë:
PS C:\Users\Dell\GraphileTest> Get-ChildItem "D:\Music\Pink Floyd - The Wall" -Recurse -Filter "*.mp3" | foreach { $_.FullName } | foreach {
>> Add-FileToCategory -File $_ -Categories "music"
>> }Për ata që nuk kuptuan çfarë bëra:
- Mora listën e skedarëve në dosje
Pink Floyd - The Wall - Çdo skedar u transformua në rrugë të plotë në to
- Shtova çdo skedar në kategori
music
Tani do të kontrollojmë nëse vërtet i kemi shtuar skedarët në kategori:
PS C:\Users\Dell\GraphileTest> List-Graphiles | Format-TableDo të shfaqet një listë në formatin:
CategoriesNames Id Categories Name ExtensionShtojmë edhe kategori dhe skedarë:
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" }Do të kontrollojmë skedarët:
List-Graphiles -Categories "alan-parsons" | Format-TableKomanda do të shfaqë të gjithë skedarët që i përkasin kategorisë alan-parsons.
Më shumë skedarë për Zotin e sistemeve të skedarëve!
New-Category -Name "images"
Get-ChildItem "D:\Imazhe" -File -Recurse | foreach { $_.FullName } | foreach {
Add-FileToCategory -File $_ -Categories "images"
}Po kontrollojmë:
List-Graphiles -Categories "images" | Format-TableE gjithë kjo funksionon!
Por kjo është vetëm fillimi. Eksportoni sistemin tuaj të zakonshëm të skedarëve në Graphile dhe merrni një organizim të shkëlqyer të skedarëve.
Nga ku të shkarkoni Graphile
Këtu është në GitLab të Graphile.
Licenca MIT, kështu që mund ta përdorni edhe për qëllime komerciale.
E ardhmja e projektit
Duke qenë se është PowerShell, dhe jo një gjë e thjeshtë, mund të bëni një ndërfaqe grafike nën .NET Core.
Si ta bëni këtë:
- Instaloni paketën Microsoft.PowerShell.SDK
- Përdorni klasën PowerShell dhe thërrisni Graphile.
Nëse ju pëlqeu projekti, bëni commit-e, merge requestdhe krijoni diskutime.
Faleminderit për leximin! Përdorni dhe shijoni!
Burimi: habr.com
