Inspirova,
«Kategoritë përveç drejtorive, ose Sistemi Semantik i Skedarëve për Linux Vitis»,
vendosa të krijoj analogun tim të utilitarit vitis për PowerShell Core.
Pse fillova ta bëj këtë
Së pari, vitis vetëm për Linux.
Së dyti, dua të përdor "kanalet" në PowerShell.
Duke qenë se doja të krijoja një utilitar multi-platformë, zgjodha .Net Core.
Historia e mëparshme
Fillimisht kishte kaos. Pastaj në disk u shfaqën dosjet.
Por kaosi ende mbizotëronte. U shfaqën etiketa, si dhe etiketa nënkategorike dhe sinonime etiketash. Por kaosi i kaploi ato. Dhe u shpikën kategoritë.
Koncepci
Skedarët ruhet jo në një hierarki dosjesh, por në një "grumbull", me kategori të caktuara. Një skedari mund t'i përkasë disa kategorive.
Nëse duhet të gjej një skedar, është më e lehtë të shkruaj kategoritë, të cilave i përket. Kjo është shumë më e lehtë për t'u mbajtur mend sesa në cilat dosje ruhet.
Por një sistem i tillë skedari nuk është aspak i përshtatshëm për ruajtjen e kodit, burimeve dhe kështu me radhë.
Ai është i destinuar për ruajtjen, për shembull, të fotografive familjare, muzikës, dokumenteve.
Përdorimi
Mirë, le të fillojmë me demonstimin.
Le 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.dbPra, tani kemi përfunduar gjithçka. Tani mund të krijojmë një kategori të re:
PS C:UsersDellGraphileTest> New-Category -Name "music"
musicLe të shtojmë skedarët:
PS C:UsersDellGraphileTest> Get-ChildItem "D:MusicPink Floyd - The Wall" -Recurse -Filter "*.mp3" | foreach { $_.FullName } | foreach {
>> Add-FileToCategory -File $_ -Categories "music"
>> }Atij që nuk e kuptoi se çfarë bëra:
- Mora listën e skedarëve në dosjen
Pink Floyd - The Wall - Çdo skedar e kam transformuar në rrugën e plotë për to
- Shtova çdo skedar në kategori
music
Tani le të kontrollojmë nëse vërtet i kemi shtuar skedarët në kategori:
PS C:UsersDellGraphileTest> List-Graphiles | Format-TableDo të shfaqet një listë në format:
CategoriesNames Id Categories Name ExtensionLe të shtojmë 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:MusicThe Alan Parsons Project - Turn of a Friendly Card" -File -Recurse | foreach { $_.FullName } | foreach { Add-FileToCategory -File $_ -Categories "music", "alan-parsons" }Le të kontrollojmë skedarët:
List-Graphiles -Categories "alan-parsons" | Format-TableKomanda do të shfaqë të gjitha 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-TableGjithçka 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 ta shkarkoni Graphile
Ja në GitLab të Graphile'it.
Licenca MIT, kështu që mund ta përdorni madje edhe për qëllime comerciale.
E ardhmja e projektit
Pasi që kjo është PowerShell, dhe jo një gjë e zakonshme, mund të krijoni 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 thirreni Graphile.
Nëse ju pëlqeu projekti, bëni komente, merge requestdhe krijoni diskutime.
Faleminderit për leximin! Përdorni dhe shijoni!
Burimi: habr.com
