10

По умолчанию мой Windows PowerShell запускается в C:\Users\Santosh , моя установка XAMPP находится в D:\ поэтому папка htdocs находится в D:\xampp\htdocs . Если мне нужно что-то отредактировать в папке htdocs, тогда я должен набрать полный cd D:\xampp\htdocs\ (автозаполнение не очень любезно), а затем отредактировать этот файл.

Если бы этот PowerShell был Bash, я сделал бы это в файле .bash_aliases:

alias htdocs='cd D:\xampp\htdocs'

Можно ли поддерживать псевдонимы Bash, такие как file и alias, для любой команды в PowerShell?

3 ответа3

11

Вы хотите, чтобы команда set-alias сочеталась со скриптом powershell или функцией. Итак, откройте редактор и напишите:

set-location d:\xampp\htdocs

и сохраните этот файл, например, в c:\Users\kumar\htdocs32.ps1, или вы можете создать такую функцию.

function htdocs32 { set-location d:\xampp\htdocs }

для выполнения сценариев вы должны установить политику выполнения, разрешающую использование сценариев локально. откройте командную строку powershell от имени администратора и введите:

set-executionpolicy remotesigned

Теперь вы можете установить псевдоним для сценария powershell:

set-alias htdocs c:\Users\kumar\htdocs32.ps1

и набрав htdocs, вы попадете в папку htdocs

Powershell использует комбинацию глагол-существительное для именования так называемых командлетов. Глагол относится к тому, что вы хотите сделать, и к существительному, с которым вы хотите что-то сделать.

Чтобы получить справку по команде set-alias, которую вы хотите использовать:

get-help set-alias -full  |more 

и нет не меньше. другой метод будет читать это http://technet.microsoft.com/en-us/library/ee176958.aspx

Также, чтобы начать с Power Shell, я рекомендую вам взглянуть на этот URL: http://www.powershellpro.com/powershell-tutorial-introduction/

Чтобы сохранить псевдоним постоянно, вы должны сохранить его в своем профиле пользователя. Сначала проверьте, существует ли профиль, используя:

PS C:\> $profile

если вы получаете false, вы можете создать новый профиль, набрав:

 New-Item -path $profile -type file -force

теперь вы можете редактировать файл

c:\Users\kumar\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

и вставьте в определение функции и псевдоним. как описано выше.

однако установка псевдонима для этого в linux не является обязательной. sicne есть переменная окружения $ CDPATH для bash, которую можно установить в ~/.bahsrc.

2

На самом деле вы можете попробовать это, он создаст модуль, загруженный автоматически.

В C:\Users\kumar\Documents\WindowsPowerShell\

Создайте новую папку Modules, если она не существует.

PS C:\>mkdir Modules

Под Модулями создайте папку call ex:"Quicky"

PS C:\>mkdir Quicky

Создайте файл с именем «quicky.psm1», .psm1 - это расширение для модулей.

Отредактируйте файл и добавьте эту строку.

function htdocs32 { set-location d:\xampp\htdocs }

Сохраните модуль.

Затем просто вызовите функцию "htdocs32"

PS C:\>htdocs32
0

если у вас есть не слишком ограниченная политика выполнения сценариев PowerShell, вы можете просто выполнить сценарий для этого. Помните, что в отличие от BASH, сценарий Windows может повлиять на вашу оболочку после завершения, поэтому вам не нужен псевдоним или эквивалент функции bash.

htdocs.ps1 (поместите это где-нибудь в вашу переменную PATH, я бы сам использовал cdhtdocs.ps1 , но это ваше соглашение об именах)

chdir "d:\xampp\htdocs"

Примечание: это также будет работать для замены дисков. т.е. это будет работать, если вы находитесь в c:\temp\ для начала.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .