1

У меня есть макрос ConEmu для Ctrl+T который запускает Task("Powershell") . Моя задача Powershell просто запускает powershell с аргументом \dir %userprofile% .

На вкладке "Макрос" в "About ConEmu" говорится, что команда Task может принимать второй аргумент для каталога:

Task("Name"[,"Dir"])
- start task with specified name

Я бы хотел, чтобы мой макрос открывал новую вкладку с тем же рабочим каталогом, что и вкладка, на которую я смотрю, когда нажимаю Ctrl+T. Это возможно?

1 ответ1

1

Когда вы "CD" в PowerShell, он фактически не меняет текущий каталог процесса (SetCurrentDirectory не вызывается). Вы можете проверить это с ProcessExplorer, например.

Таким образом, вы можете запустить из вашей активной подсказки PowerShell

PowerShell -new_console

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

Print("\ePowerShell -new_console\n")

Теоретически вы можете создать новую вкладку без использования активного приглашения PowerShell, есть еще один макрос, но вам нужно заставить PowerShell явно вызывать SetCurrentDirectory . Например, вы можете переопределить функцию prompt в профиле powershell.

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