ืงื˜ื’ื•ืจื™ื•ืช ื‘ืžืงื•ื ืกืคืจื™ื•ืช. ื›ืœื™ ืœืื—ืกื•ืŸ ืงื‘ืฆื™ื ื ื•ื—

ื”ืฉืจืื” ืžืืžืจื™ื

"ืงื˜ื’ื•ืจื™ื•ืช ื‘ืžืงื•ื ืกืคืจื™ื•ืช, ืื• ืžืขืจื›ืช ืงื‘ืฆื™ื ืกืžื ื˜ื™ืช ืขื‘ื•ืจ Linux Vitis",

ื”ื—ืœื˜ืชื™ ืœืขืฉื•ืช ืื ืœื•ื’ ืžืฉืœื™ ืฉืœ ื›ืœื™ ื”ืฉื™ืจื•ืช vitis ืขื‘ื•ืจ PowerShell Core.

ืœืžื” ื”ืชื—ืœืชื™ ืœืขืฉื•ืช ืืช ื–ื”

ืจืืฉื™ืช, vitis ืจืง ืขื‘ื•ืจ ืœื™ื ื•ืงืก.
ืฉื ื™ืช, ืื ื™ ืจื•ืฆื” ืœื”ืฉืชืžืฉ ื‘"ืฆื™ื ื•ืจื•ืช" ื‘- PowerShell.

ืžื›ื™ื•ื•ืŸ ืฉืจืฆื™ืชื™ ืœื™ืฆื•ืจ ื›ืœื™ ืขื–ืจ ื—ื•ืฆื” ืคืœื˜ืคื•ืจืžื•ืช, ื‘ื—ืจืชื™ ื‘-.Net Core.

ืคืจื”ื™ืกื˜ื•ืจื™ื”

ื‘ื”ืชื—ืœื” ื”ื™ื” ื›ืื•ืก. ื•ืื– ื”ื•ืคื™ืขื• ืชื™ืงื™ื•ืช ื‘ื“ื™ืกืง.
ืื‘ืœ ื›ืื•ืก ืขื“ื™ื™ืŸ ืฉืจืจ. ื•ืชื’ื™ื•ืช ื”ื•ืคื™ืขื•, ื›ืžื• ื’ื ืชื’ื™ื•ืช ืžืฉื ื” ื•ืžื™ืœื™ื ื ืจื“ืคื•ืช. ืื‘ืœ ื”ื›ืื•ืก ื›ื‘ืฉ ื’ื ืื•ืชื. ื•ืงื˜ื’ื•ืจื™ื•ืช ื”ื•ืžืฆืื•.

ืžื•ืฉื’

ืงื‘ืฆื™ื ืื™ื ื ืžืื•ื—ืกื ื™ื ื‘ื”ื™ืจืจื›ื™ื™ืช ืชื™ืงื™ื•ืช, ืืœื ื‘"ืขืจื™ืžื”", ืขื ืงื˜ื’ื•ืจื™ื•ืช ืกืคืฆื™ืคื™ื•ืช. ืงื•ื‘ืฅ ืื—ื“ ื™ื›ื•ืœ ืœื”ืฉืชื™ื™ืš ืœืžืกืคืจ ืงื˜ื’ื•ืจื™ื•ืช.

ืื ืืชื” ืฆืจื™ืš ืœืžืฆื•ื ืงื•ื‘ืฅ, ื™ื•ืชืจ ื ื•ื— ืœื”ื™ื›ื ืก ืœืงื˜ื’ื•ืจื™ื•ืช ืฉืืœื™ื”ืŸ ื”ื•ื ืฉื™ื™ืš. ื–ื” ื”ืจื‘ื” ื™ื•ืชืจ ืงืœ ืœื–ื›ื•ืจ ืžืืฉืจ ื‘ืื™ืœื• ืชื™ืงื™ื•ืช ื”ื•ื ืžืื•ื—ืกืŸ.

ืื‘ืœ ืžืขืจื›ืช ืงื‘ืฆื™ื ื›ื–ื• ืื™ื ื” ืžืชืื™ืžื” ื‘ืฉื•ื ืคื ื™ื ื•ืื•ืคืŸ ืœืื—ืกื•ืŸ ืงื•ื“, ืžืงื•ืจื•ืช ื•ื›ื•'.
ื”ื•ื ืžื™ื•ืขื“ ืœืื—ืกื•ืŸ, ืœืžืฉืœ, ืชืžื•ื ื•ืช ืžืฉืคื—ืชื™ื•ืช, ืžื•ื–ื™ืงื”, ืžืกืžื›ื™ื.

ืœื”ืฉืชืžืฉ

ื•ื‘ื›ืŸ, ื‘ื•ืื• ื ืชื—ื™ืœ ืขื ื”ื”ืคื’ื ื”.

ื”ืชืงืŸ ื’ืจืคื™ืœ:

# install.ps1 ะฝะฐั…ะพะดะธั‚ัั ะฒ ะบะพั€ะฝะตะฒะพะน ะฟะฐะฟะบะต ั ะบะพะดะพะผ
PS D:SourcereposGraphile> .install.ps1

ืจืืฉื™ืช ืื ื• ืžืืชื—ืœื™ื ืืช ื’ืจืคื™ืœ ื‘ืชื™ืงื™ื™ื”:

# ะ˜ะผะฟะพั€ั‚ะธั€ัƒะตะผ ัƒัั‚ะฐะฝะพะฒะปะตะฝะฝั‹ะน ะผะพะดัƒะปัŒ
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 ื•ืงื‘ืœ ืืจื’ื•ืŸ ืงื‘ืฆื™ื ืžืขื•ืœื”.

ื”ื™ื›ืŸ ืœื”ื•ืจื™ื“ ืืช ื’ืจืคื™ืœ

ื›ืืŸ ืงืฉืจ ื‘-GitLab ืฉืœ ื’ืจืคื™ืœ.

ืจื™ืฉื™ื•ืŸ MIT, ื›ืš ืฉืชื•ื›ืœ ืืคื™ืœื• ืœื”ืฉืชืžืฉ ื‘ื• ืœืžื˜ืจื•ืช ืžืกื—ืจื™ื•ืช.

ืขืชื™ื“ ื”ืคืจื•ื™ืงื˜

ืžื›ื™ื•ื•ืŸ ืฉื–ื” PowerShell, ื•ืœื ื“ื‘ืจื™ื ืžื˜ื•ืจืคื™ื, ืืชื” ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืžืขื˜ืคืช ื’ืจืคื™ืช ืขื‘ื•ืจ .NET Core.

ืื™ืš ืœืขืฉื•ืช ืืช ื–ื”:

  1. ื”ืชืงืŸ ืืช Microsoft.PowerShell.SDK
  2. ื”ืฉืชืžืฉ ื‘ืžื—ืœืงื” ืฉืœ PowerShell ื•ื”ืชืงืฉืจ ืœ-Graphile.

ืื ืืชื” ืื•ื”ื‘ ืืช ื”ืคืจื•ื™ืงื˜, ื”ืชื—ื™ื™ื‘, merge requestื•ืœื™ืฆื•ืจ ื“ื™ื•ื ื™ื.

ืชื•ื“ื” ืฉืงืจืืช! ื”ืฉืชืžืฉ ื‘ื• ื•ืชื”ื ื”!

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”