Skip to content

Instantly share code, notes, and snippets.

@anuvyklack
Last active September 3, 2019 16:44
Show Gist options
  • Save anuvyklack/330c0de779e2a379842fa57228fe8db1 to your computer and use it in GitHub Desktop.
Save anuvyklack/330c0de779e2a379842fa57228fe8db1 to your computer and use it in GitHub Desktop.
[PowerShell] Useful gists for powershell

Get all cmdlets from the session and leave only those with the property "source" equal to "conda":

gcm | ? {$_.Source -eq "Conda"}

Вывести листинг функции в консоль (несколько вариантов):

  • (gcm mkdir).Definition
  • $function:mkdir
  • ${function:mkdir}

Testing if string is NULL or EMPTY or consists only of WHITESPACEs:

[string]::IsNullOrWhiteSpace($line)

Проверить существует ли профиль PowerShell и создадать его, если нет

if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
code $PROFILE  # открыть файл в VSCode

Получить атрибуты класса из переменной $profile

$profile | Get-Member -MemberType Properties

Создать жёсткую ссылку на FastCopy в домашнем каталоге Far Manager

New-Item `
    -ItemType HardLink `
    -Path "C:\Program Files\Far Manager" `
    -Name "FastCopy.exe" `
    -Value "C:\Users\$env:UserName\scoop\apps\fastcopy\current\FastCopy.exe"

Выводит имена комманд для алиасов из файла

# path to the destination folder
$path = 'D:\artyu\OneDrive\Software\PowerShell\'
# $data это массив строк и к его элементам можно обращаться по индексу
$data = Get-Content -Path ($path + 'aliases.txt')
$i = 0
foreach ($line in $data)
{
    if (!($line -like '*->*') -and ![string]::IsNullOrWhiteSpace($line))
    {
        $data[$i] = (Get-Command $line).name + ' -> ' + (Get-Command $line).definition
    }
    $i ++
}
echo $data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment