Я мушу в цьому випадку дати негативну відповідь - використання пробілів у назві doskey неможливо. Doskey був створений для командного рядка (cmd), тому концепція досить проста.
На мій погляд, це неможливо, оскільки:
- У такій команді doskey, як "
doskey a b=ab
," потрібно "не" для недійсної опції
- Команда doskey не приймає лапки навколо імені макросу.
Ось кілька тестів, які я провів:
Як бачимо, деякі спеціальні символи приймаються, але тільки не пропуски.
Навіть без пробілів у назві макросів, doskey - це стара програма DOS і працювати в PowerShell може лише з працею. Він суперечить PSReadLine
модулю, який спирається на вхідні функції консолі. Я перевірив це:
Як бачите, вам потрібно зробити два додаткові дії:
- Видайте команду
Remove-Module PSReadLine
- Додайте в команду doskey параметр
/exename=powershell.exe
Коли обидва виконані, команда виконується правильно і видає правильну помилку.
Моя найкраща порада - не використовувати doskey в PowerShell. Doskey старий, а PowerShell новий, і використовувати їх можна лише разом із труднощами. Я дійсно не думаю, що doskey настільки корисний, щоб бути незамінним.
Спробуйте знайти інше рішення для часто використовуваних команд. Наприклад, зберігати команди в в виконуваних файлах , таких як .ps1
чи .cmd
або .bat
всередині папки , які ви додаєте в PATH.