1

Я хочу создать псевдоним, который может принимать входные данные, например:

alias ytx='youtube-dl -ciw -f bestaudio --yes-playlist

Возможно ли это в Windows?

Я пробовал псевдонимы bash, эквивалентные для powershell? но это не позволяет вводить в конце.

2 ответа2

0

Самый простой подход, который работает в любой версии Windows, заключается в использовании общих пакетных файлов, хранящихся в общей папке, доступной в вашей PATH .

Для передачи ввода в пакетные файлы используйте %* , что означает «все параметры, переданные в командную строку пакетного файла», или используйте %1 , %2 , ... %9 для ссылки на отдельные параметры.

Лично я храню свои командные файлы в C:\Batch и помещаю их в начало моего PATH . При запуске командных файлов вы можете опустить суффикс .bat , чтобы получить похожий внешний вид и псевдонимы bash.

Несколько примеров из моих собственных:

  • s3cmd.bat , который содержит: python c:\devtools\s3cmd-2.0.0\s3cmd %* . Все параметры передаются непосредственно в саму программу s3cmd .
  • clangcheck.bat , который является сокращением для: clang-check -analyze -extra-arg -Xclang -extra-arg -analyzer-output=text %* . Здесь параметры пакета передаются вместе с дополнительными аргументами для clang-check .
  • epoch_to_time.bat , который конвертирует время эпохи Unix в читаемое местное время.
    Он содержит: perl -pe "s/([\d]{10})/localtime $1/eg;" %1 . Здесь %1 - это время преобразования, которое ожидается как один параметр.
0

Эквивалентная команда - команда doskey, которую вы можете использовать как:

doskey ytx=youtube-dl -ciw -f bestaudio --yes-playlist $*

где $* представляет все параметры.

Вот небольшой пример, отражающий его параметры:

Doskey также можно использовать в PowerShell. Для получения дополнительной информации см. Этот ответ.

Чтобы сделать макрос doskey постоянным во всех сеансах, см. Пост Создание постоянного DOSKEY в Windows cmd.

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