Windows cmd: сохранение команды powershell в качестве переменной среды

Я пытался сохранить именно эту команду powershell как переменную среды, но проблема в том, что либо оболочка пытается интерпретировать содержимое команды без ведома PowerShell, либо выводит неправильную команду, которая не будет работать.

Получите эту команду для меня в setx, чтобы она работала!

powershell -Command "Get-ChildItem -File | Sort-Object LastWriteTime | Select-Object -Last 20"

посмотри, что я сделал

        # setx ll20 "powershell -Command \"Get-ChildItem -File | Sort-Object LastWriteTime | Select-Object -Last 20\""
    'Sort-Object' is not recognized as an internal or external command,
    operable program or batch file.

HOME@HOME-PC C:\Users\HOME
# setx ll20 "powershell -Command \"& {Get-ChildItem -File | Sort-Object LastWriteTime | Select-Object -Last 20}\""

SUCCESS: Specified value was saved.
'{Get-ChildItem' is not recognized as an internal or external command,
operable program or batch file.
# echo %ll20%
powershell -Command "

HOME@HOME-PC C:\Users\HOME

Я знаю, что могу создать файл ps1 и вызвать его, но я хочу знать, можно ли сделать это напрямую.

🤔 А знаете ли вы, что...
PowerShell - это мощный скриптовый язык и среда командной строки для управления Windows-системами.


70
1

Ответ:

Решено

Для этого вы можете использовать doskey:

doskey ll20=powershell -c "Get-ChildItem -File | Sort-Object LastWriteTime | Select-Object -Last 20"

Если вы хотите, чтобы он всегда был доступен для вашей оболочки, следуйте этой теме, чтобы найти пару решений.