Как вернуть «Открыть окно команд» в проводнике Windows 10. Как заменить powershell на cmd


Показать командную строку вместо PowerShell в меню Win+X в Windows 10

Нажав правой клавишей мыши на меню "Пуск" (или нажав клавиши Win+x) вы увидите меню с ярлыками для различных настроек системы. В данном меню отображается "Командная строка" или "PowerShell", вы же можете настроить, что именно нужно отображать. В сегодняшней статье рассмотрим пару способов изменения меню правой клавиши мыши при нажатии на "Пуск", чтобы заменить в нем "Командная строка" на "PowerShell" или наоборот.

Изменить PowerShell на Командную строку в меню Win + X в параметрах

1. Откройте меню "Пуск" и зайдите в "Параметры".

2. Зайдите в "Персонализация".

3. В левой колонке выберите "Панель задач", с правой стороны возле "Заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке "Пуск" или при нажатии клавиш Windows+X" нажмите на переключатель. Если переключатель в положении "Вкл." - при нажатии Win+X будет отображаться PowerShell, если переключатель в положении "Откл." -  при нажатии Win+X будет отображаться "Командная строка". После включения нужного закройте окно настроек.

Изменить PowerShell на Командную строку в меню Win + X в редакторе реестра

Перед редактированием реестра рекомендуется создать точку для восстановления системы.

1.Откройте редактор реестра: в строке поиска или в меню выполнить (выполнить вызывается клавишами Win+R) введите команду regedit и нажмите клавишу Enter.

2. Перейдите по пути Компьютер\ HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Explorer\ Advanced. Когда в левой колонке выберите раздел Advanced в правой колонке откройте параметр DontUsePowerShellOnWinX. В поле "Значение" введите 1 если хотите, чтобы отображалась командная строка в меню Win+x, или 0 - если вы хотите, чтобы отображался PowerShell. После ввода нужного значения нажмите на "ОК" и закройте редактор реестра.

3. Перезагрузите компьютер или перезапустите проводник, чтобы изменения вступили в силу.

На сегодня всё, если вы знаете другие способы или у вас есть дополнения - пишите комментарии! Удачи Вам 🙂

vynesimozg.com

Заменяем командную строку на PowerShell в Windows 10

Те, то уже пользовались PowerShell знают, что она почти тоже самое, что и командная строка, только с большими возможностями. Подробнее о PowerShell читаем здесь.

Итак, когда мы нажимаем на меню Win+X, его еще называют меню WinX, там появляются различные пункты работы с системой. Также там есть и командная строка, которую мы можем открыть, как от имени пользователя, так и от имени администратора. Но что, если заменить ее на другую утилиту, скажем подобную, которая имеет название PowerShell?

Это интересно: Как с помощью PowerShell загрузить файл на компьютер?

Как заменить командную строку на PowerShell?

Давайте перейдем в параметры системы, для этого нажимаем Win+I, либо перейдем туда из меню Пуск. После открытия окна нажимаем на «Персонализация».

Слева переходим в пункт «Панель задач». При отображении новых элементов справа, мы должны поставить там во включенное положение пункт «Заменить командную строку оболочкой Windows PowerShell в меню…».

Далее вы можете нажать комбинацию Win+X и увидеть, что наши параметры уже работают.

Второй способ – файл bat

Это интересно: Что делать, если в Windows 10 не открывается меню пуск? [Утилита исправления]

Ребята, можно изменить командную строку на PowerShell с помощью реестра. Открываем реестр с помощью Win+R и вводим туда команду regedit. Потом идем вот в такой раздел:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced

Там находим параметр DontUsePowerShellOnWinX. Если его значение равно 0 – будет показываться PowerShell, если значение 1 – это командная строка.

Можно, конечно, поступить еще проще – скачать уже готовые bat-файлы. У меня вполне безопасны, поэтому насчет вирусов можете не беспокоится.

Замена командной строки на PowerShell – https://yadi.sk/d/uzXkQi2DzWgyN

Замена PowerShell на командную строку – https://yadi.sk/d/RpL4ECxdzWh5Z

Чтобы впервые запустить данный файл понадобится в открывшемся окне нажать кнопку «Подробнее», а потом «Выполнить в любом случае».

Таким образом, вы моете заменять командную строку на оболочку PowerShell и наоборот.

https://computerinfo.ru/zamenyaem-komandnuyu-stroku-na-powershell/https://computerinfo.ru/wp-content/uploads/2016/11/zamenyaem-komandnuyu-stroku-na-powershell-5-700x363.pnghttps://computerinfo.ru/wp-content/uploads/2016/11/zamenyaem-komandnuyu-stroku-na-powershell-5-150x150.png2016-11-26T17:00:20+00:00EvilSin225Windows 10PowerShell,заменить командную строку на powershell,как заменить командную строкуТе, то уже пользовались PowerShell знают, что она почти тоже самое, что и командная строка, только с большими возможностями. Подробнее о PowerShell читаем здесь. Итак, когда мы нажимаем на меню Win+X, его еще называют меню WinX, там появляются различные пункты работы с системой. Также там есть и командная строка, которую...EvilSin225Андрей Терехов[email protected]Компьютерные технологии

computerinfo.ru

Как вернуть «Открыть окно команд» Windows 10

25.04.2017&nbsp windows

В Windows 10 версии 1703 пункт «Командная строка» в контекстном меню «Пуск» изменился на PowerShell, а пункт контекстного меню проводника (который появляется, если удерживать Shift при нажатии правой кнопки мыши) «Открыть окно команд» — на «Открыть окно PowerShell здесь». И если первое легко меняется в Параметры — Персонализация — Панель задач (пункт «Заменить командную строку оболочкой Windows PowerShell»), то второе при изменении данной настройки не изменяется.

В этой инструкции — пошагово о том, как вернуть пункт «Открыть окно команд» Windows 10, вызываемое в Проводнике при вызове контекстного меню с удерживанием клавиши Shift и служащий для запуска командной строки в текущей папке (если вызывать меню в пустом месте окна проводника) или в выбранной папке. См. также: Как вернуть панель управления в контекстное меню Пуск Windows 10.

Возвращаем пункт «Открыть окно команд» с помощью редактора реестра

Для того, чтобы вернуть указанный пункт контекстного меню в Windows 10, проделайте следующие действия:

  1. Нажмите клавиши Win+R и введите regedit для запуска редактора реестра.
  2. Перейдите к разделу реестра HKEY_CLASSES_ROOT\ Directory\ shell\ cmd, нажмите правой кнопкой мыши по имени раздела и выберите пункт меню «Разрешения». 
  3. В следующем окне нажмите кнопку «Дополнительно». 
  4. Нажмите «Изменить» рядом с пунктом «Владелец». 
  5. В поле «Введите имена выбираемых объектов» введите имя вашего пользователя и нажмите «Проверить имена», а затем — «Ок». Примечание: если используется учетная запись Майкрософт, введите адрес электронной почты вместо имени пользователя. 
  6. Отметьте пункт «Заменить владельца подконтейнеров и объектов» и «Заменить все записи разрешений дочернего объекта», затем нажмите «Ок» и подтвердите действие. 
  7. Вы вернетесь в окно параметров безопасности раздела реестра, в нем выберите пункт «Администраторы» и установите отметку «Полный доступ», нажмите «Ок». 
  8. Вернувшись в редактор реестра, нажмите по значению HideBasedOnVelocityId (в правой части редактора реестра) правой кнопкой мыши и выберите пункт «Удалить». 
  9. Повторите шаги 2-8 для разделов HKEY_CLASSES_ROOT\ Directrory\ Background\ shell\ cmd и HKEY_CLASSES_ROOT\ Drive\ shell\ cmd

По завершении указанных действий, пункт «Открыть окно команд» вернется в том виде, в котором ранее присутствовал в контекстном меню проводника (даже без перезапуска explorer.exe или перезагрузки компьютера).

Дополнительная информация

  • Существует дополнительная возможность открыть командную строку в текущей папке в проводнике Windows 10: находясь в нужной папке, введите в адресную строку проводника cmd и нажмите Enter.

Окно команд можно открывать и на рабочем столе: Shift + правый клик мышью — выбор соответствующего пункта меню.

А вдруг и это будет интересно:

remontka.pro

Windows PowerShell заменяет Командную строку в Windows 10

Последняя сборка Windows 10 Insider получила заметное изменение - Windows PowerShell сменил популярную командную строку в основных частях операционной системы Командная строка очень давно заняла свое место в ОС Windows, но начиная с Windows 10 build 14971, Microsoft делает ставку на Windows PowerShell в качестве основной оболочки для выполнения команд в ОС.

В результате PowerShell заменит командую строку в меню “Windows + X”. Теперь при клике правой кнопкой мыши по меню Пуск, пользователи смогут запустить только Windows PowerShell. Дополнительно, в контекстном меню проводника Windows (при нажатии Shift + правый клик мышью) старая командная строка больше не будет доступна.

Команда “cmd” в диалоговом меню “Выполнить” также будет запускать именно PowerShell. Таким образом, Microsoft сделала серьезные шаги по отказу от традиционной командной строки.

Командная строка еще доступнаНа данный момент Редмонд предоставляет пользователям возможность по-прежнему использовать командную строку, но скорее всего в будущем от нее полностью откажутся.

Руководитель программы Windows Insider Дона Саркар сообщила о доступности обычной командной строки:

“Если вы предпочитаете использовать традиционную командную строку, то можете перейти в приложение "Параметры > Персонализация > Панель задач" и отключить опцию “Заменить командную строку оболочкой Windows PowerShell в меню, которое появляется при щелчке правой кнопкой мыши по кнопке “”Пуск” или при нажатии клавиш "Windows +X”.

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

На этой неделе Windows PowerShell отмечает свой 10-летний юбилей, и это отличный повод для осуществления перехода, хотя нововведение может понравится не всем пользователям.

Источник

safezone.cc

powershell - Cmd заменить powershell - специальный символ

set "fileIn=C:\LOCATION\Client_List_%DDMMYYYY%.csv" set "fileOu=C:\LOCATION\Client_List_%DDMMYYYY%.csv" powershell -c "(gc '%fileIn%').Replace('‘‘','').Replace('','')|Out-File '%fileOu%'"

Этот странный апостроф это U+2019 Right Single Quotation Mark, предположительно закрывающая цитата. Это может быть сопряжено с другой вводной цитатой. В приведенном выше примере ' U+2018 левая одиночная котировка".

Get-Help 'about_Quoting_Rules' говорит

Кавычки используются для указания строки. Вы можете заключить строку в одинарные кавычки (') или двойные кавычки (").

Фактически, PowerShell принимает два разных набора котировок:

  • двойные кавычки " " " „
  • одинарные кавычки ' ' ‚ ‛

AFAIK, все эти кавычки присутствуют на большинстве кодовых страниц Windows ANSI (1252, 1250, 1257, 1253, 1251, 1254, 1255, 1256, 1258), поэтому их можно использовать буквально в ANSI -saved .bat скрипте - кроме последний котировочный знак ‛ U+201B Single High-Reversed-9 Quotation Mark. В таком случае используйте $([char]0x201B) вместо '‛‛' следующим образом:

rem cast [char] to '[string]' ↓↓↓↓↓↓↓↓ powershell -c "(gc '%fileIn%').Replace( [string]$([char]0x201B) , '')" rem ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

или следующим образом:

rem [char] can't be empty so specify '[string]' ↓↓↓↓↓↓↓↓ powershell -c "(gc '%fileIn%').Replace( $([char]0x201B) , [string]'')" rem ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

Анализ и объяснение

Следующий фрагмент кода PowerShell показывает выдержку из базы данных Юникода (имена символов, заканчивающиеся Quotation Mark или содержащие Apostrophe):

PS D:> 0x22,0x27,0x00AB,0x00BB,0x2018,0x2019,0x201A,0x201B,0x201C,0x201D,0x201E,0x201F, 0x2039,0x203A,0x2E42,0x301D,0x301E,0x301F,0x055A | Get-CharInfo | Format-Table -AutoSize Char CodePoint Category Description ---- --------- -------- ----------- " U+0022 OtherPunctuation Quotation Mark ' U+0027 OtherPunctuation Apostrophe « U+00AB InitialQuotePunctuation Left-Pointing Double Angle Quotation Mark » U+00BB FinalQuotePunctuation Right-Pointing Double Angle Quotation Mark ‘ U+2018 InitialQuotePunctuation Left Single Quotation Mark U+2019 FinalQuotePunctuation Right Single Quotation Mark ‚ U+201A OpenPunctuation Single Low-9 Quotation Mark ‛ U+201B InitialQuotePunctuation Single High-Reversed-9 Quotation Mark " U+201C InitialQuotePunctuation Left Double Quotation Mark " U+201D FinalQuotePunctuation Right Double Quotation Mark „ U+201E OpenPunctuation Double Low-9 Quotation Mark ‟ U+201F InitialQuotePunctuation Double High-Reversed-9 Quotation Mark ‹ U+2039 InitialQuotePunctuation Single Left-Pointing Angle Quotation Mark › U+203A FinalQuotePunctuation Single Right-Pointing Angle Quotation Mark ⹂ U+2E42 OtherNotAssigned Undefined 〝 U+301D OpenPunctuation Reversed Double Prime Quotation Mark 〞 U+301E ClosePunctuation Double Prime Quotation Mark 〟 U+301F ClosePunctuation Low Double Prime Quotation Mark ՚ U+055A OtherPunctuation Armenian Apostrophe

(Выход из модифицированного командлета Get-CharInfo.) Исходный модуль Get-CharInfo можно загрузить с сайта http://poshcode.org/5234.

Следующий скрипт PowerShell завершает результаты, показывая некоторые допустимые (и недействительные в моей локали) комбинации кавычек:

$arrSingleQuotes = ''' U+0027 Apostrophe ''' , ‘‘‘ U+2018 Left Single Quotation Mark ‘‘‘ , U+2019 Right Single Quotation Mark , ‚‚‚ U+201A Single Low-9 Quotation Mark ‚‚‚ , ‛‛‛ U+201B Single High-Reversed-9 Quotation Mark ‛‛‛ , ‘‘‘ U+2018 (Left/Right) Single Quotation Mark U+2019 , U+2019 (Right/Left) Single Quotation Mark U+2018 ‘‘‘ '$arrSingleQuotes (any combination)' $arrSingleQuotes $arrDoubleQoutes = """ U+0022 Quotation Mark """ , """ U+201C Left Double Quotation Mark """ , """ U+201D Right Double Quotation Mark """ , „„„ U+201E Double Low-9 Quotation Mark „„„ , """ U+201C (Left/Right) Double Quotation Mark U+201D """ , """ U+201D (Right/Left) Double Quotation Mark U+201C """ '$arrDoubleQoutes (any combination)' $arrDoubleQoutes $noQuotes = @" « U+00AB Left-Pointing Double Angle Quotation Mark » U+00BB Right-Pointing Double Angle Quotation Mark ‟ U+201F Double High-Reversed-9 Quotation Mark ⹂ U+2E42 DOUBLE LOW-REVERSED-9 QUOTATION MARK ‹ U+2039 Single Left-Pointing Angle Quotation Mark › U+203A Single Right-Pointing Angle Quotation Mark 〝 U+301D Reversed Double Prime Quotation Mark 〞U+301E Double Prime Quotation Mark 〟U+301F Low Double Prime Quotation Mark ՚ U+055A Armenian Apostrophe "@ '$noQuotes' $noQuotes

Выход:

PS D:> D:\PShell\SO\41488245_quotes.ps1 $arrSingleQuotes (any combination) ' U+0027 Apostrophe ' ‘ U+2018 Left Single Quotation Mark ‘ U+2019 Right Single Quotation Mark ‚ U+201A Single Low-9 Quotation Mark ‚ ‛ U+201B Single High-Reversed-9 Quotation Mark ‛ ‘ U+2018 (Left/Right) Single Quotation Mark U+2019 U+2019 (Right/Left) Single Quotation Mark U+2018 ‘ $arrDoubleQoutes (any combination) " U+0022 Quotation Mark " " U+201C Left Double Quotation Mark " " U+201D Right Double Quotation Mark " „ U+201E Double Low-9 Quotation Mark „ " U+201C (Left/Right) Double Quotation Mark U+201D " " U+201D (Right/Left) Double Quotation Mark U+201C " $noQuotes « U+00AB Left-Pointing Double Angle Quotation Mark » U+00BB Right-Pointing Double Angle Quotation Mark ‟ U+201F Double High-Reversed-9 Quotation Mark ⹂ U+2E42 DOUBLE LOW-REVERSED-9 QUOTATION MARK ‹ U+2039 Single Left-Pointing Angle Quotation Mark › U+203A Single Right-Pointing Angle Quotation Mark 〝 U+301D Reversed Double Prime Quotation Mark 〞U+301E Double Prime Quotation Mark 〟U+301F Low Double Prime Quotation Mark ՚ U+055A Armenian Apostrophe

Обратите внимание, что ⹂ U+2E42 DOUBLE LOW-REVERSED-9 QUOTATION MARK присутствует в базе данных Unicode и правильно отображается в PowerShell ISE.

Добавление: я нашел больше кандидатов кавычек (показан только результат, полученный из сценария Excerpt_From_UnicodeDataTxt.ps1):

PS > $x = .\tests\Excerpt_From_UnicodeDataTxt.ps1 -SearchString "Quotation|Apostrophe" | Where-Object {$_.Category -match 'Punctuation'} PS > $x.Count 23 PS > $x Char CodePoint Category Description ---- --------- -------- ----------- " U+0022 Po-OtherPunctuation Quotation Mark ' U+0027 Po-OtherPunctuation Apostrophe « U+00AB Pi-InitialQuotePunctuation Left-Pointing Double Angle Quotation Mark » U+00BB Pf-FinalQuotePunctuation Right-Pointing Double Angle Quotation Mark ՚ U+055A Po-OtherPunctuation Armenian Apostrophe ‘ U+2018 Pi-InitialQuotePunctuation Left Single Quotation Mark U+2019 Pf-FinalQuotePunctuation Right Single Quotation Mark ‚ U+201A Ps-OpenPunctuation Single Low-9 Quotation Mark ‛ U+201B Pi-InitialQuotePunctuation Single High-Reversed-9 Quotation Mark " U+201C Pi-InitialQuotePunctuation Left Double Quotation Mark " U+201D Pf-FinalQuotePunctuation Right Double Quotation Mark „ U+201E Ps-OpenPunctuation Double Low-9 Quotation Mark ‟ U+201F Pi-InitialQuotePunctuation Double High-Reversed-9 Quotation Mark ‹ U+2039 Pi-InitialQuotePunctuation Single Left-Pointing Angle Quotation Mark › U+203A Pf-FinalQuotePunctuation Single Right-Pointing Angle Quotation Mark ❮ U+276E Ps-OpenPunctuation Heavy Left-Pointing Angle Quotation Mark Ornament ❯ U+276F Pe-ClosePunctuation Heavy Right-Pointing Angle Quotation Mark Ornament ⹂ U+2E42 Ps-OpenPunctuation Undefined 〝 U+301D Ps-OpenPunctuation Reversed Double Prime Quotation Mark 〞 U+301E Pe-ClosePunctuation Double Prime Quotation Mark 〟 U+301F Pe-ClosePunctuation Low Double Prime Quotation Mark " U+FF02 Po-OtherPunctuation Fullwidth Quotation Mark ' U+FF07 Po-OtherPunctuation Fullwidth Apostrophe

qaru.site

Как открыть PowerShell, все методы

Всем привет! Сегодня небольшая заметка на тему, как открыть powershell от имени администратора. Напомню PowerShell, это мощный язык программирования и администрирования от компании Microsoft, каждый год он обрастает, все большим количество командлетов и функциональностей. По сути, это замена командной строке Windows. Ниже рассмотрим методы позволяющие его открыть и настроить..

Методы открытия оснастки PowerShell

Powershell очень хорошо развивается и с выходом Windows 10 получил уже 4 версию, но у нас тема другая. Так как открыть powershell? Все просто если в Windows XP, то никак. так он доставляется отдельно, во всех последующих релизах он идет как встроенный компонент. Самый универсальный способ открытия powershell это нажать

Win+R и ввести powershell

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

Как открыть windows powershell от имени администратора в Windows 8.1 и Windows 7

Открыть windows powershell можно через пуск. В Windows 8.1, Windows 2012 R2 переходите в пункт Служебные - Windows и правым кликом выбираете запустить от имени администратора.

В Windows 7 и Windows 2008 R2 это выглядит вот так Пуск > Стандартные > Windows PowerShell

Так же можно создать ярлык в пункте задачи и щелкнуть по нему правым кликом и выбрать соответствующий пункт

было бы удобно, чтобы PowerShell всегда открывался от имени администратора, давайте это реализуем. Делается это во всех версиях Windows одинаково. Открываем панель управления

Далее пункт Администрирование > Windows PowerShell (x86)

Щелкаем по нему правым кликом мыши и выбираем пункт свойства. Сразу можете посмотреть путь до файла, где он лежит в системе.

Нажимаем кнопку "Дополнительно". У вас откроется дополнительные свойства. где вам нужно выставить галку запуск от имени администратора.

Все очень просто. Уверен, что у вас теперь не встанет вопроса как вам открыть windows powershell. Еще полезным бывает поменять шрифт в окне powershell.

Как открыть PowerShell через контекстное меню кнопки «Пуск» в Windows 10

Компания Microsoft, все больше делает акцент с командной строки в сторону своего сильного языка (PowerShell), и это логично, так как его возможности по управлению операционными системами семейства Windows, почти безграничны, а то и больше, чем в графическом интерфейсе. Начиная с версии Windows 10 1709, в контекстном меню, PowerShell, заменил всем привычный cmd. Щелкаете правым кликом по кнопке пуск в Windows 10 и из контекстного меню, выбираем соответствующий пункт:

  1. Windows PowerShell
  2. Windows PowerShell (администратор) - это как раз и есть режим с максимальными правами в Windows 10.

Запуск Windows PowerShell с помощью поиска в Windows 10

В Windows 10 и более старых версиях, найти оболочку PowerShell, можно с помощью обычного поиска, для этого есть специальная секция. Нажмите рядом с кнопкой "Пуск", значок в виде лупы. В открывшейся форме поиска, введите слово PowerShell. У вас будет произведен поиск всех вариантов, среди которых вы и обнаружите оболочку. Если щелкнуть по ней правой кнопкой мыши, то можно открыть ее от имени администратора.

Запуск Windows PowerShell с помощью меню Пуск в Windows 10

Для того, чтобы открыть оболочку PowerShell из меню Пуск, откройте его и найдите пункт Windows PowerShell, он будет в виде папки, откройте его и запустите соответствующую версию.

Если кликнуть правым кликом, то вы сможете запускать оболочку повершела от имени и с правами администратора.

Дополнительные и универсальные методы запуска оболочки

Существуют еще совсем специфические методы открытия оболочки с мощным языком от Microsoft. Самый топорный, это просто найти исполняемый файл и запустить его прямо из расположения в системе. Переходим в вашей Windows 10 по пути:

C:\Users\имя пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell

В итоге у вас откроется папка с ярлыками, которые присутствуют в меню "Пуск", можете их запускать.

Еще можно запустить оригинальный, исполняемый файл, который лежит по пути:

C:\Windows\System32\WindowsPowerShell\v1.0

И кликнув по нему правым кликом, вы можете его загружать от имени администратора, с максимальными правами.

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

Ну и еще напомню метод, запуска новой задачи из оснастки "Диспетчер задач". Откройте "Диспетчер задач", выберите пункт меню "Файл - Запустить новую задачу"

В появившемся окне введите PowerShell.

Ну и последний известный мне метод, это запуск PowerShell, через проводник Windows 10, для этого откройте проводник, выберите пункт меню "Файл - запустить Windows PowerShell", тут будут оба режима.

Что такое PowerShell ISE

Наверняка вы обратили внимание, что везде присутствует ярлык PowerShell ISE, и вы хотели бы знать, что это такое. Если в двух словах, то это особая оболочка, в которой вы можете писать сценарии и скрипты на языке PowerShell, используя все то разнообразие командлетов, что предлагает вам компания Microsoft.

Свойства powershell

powershell шрифт меняется очень просто перейдите в свойствах на вкладку Шрифт, где вы можете задать размер от 5 до 72.

так же в свойства можно попасть из самого окна утилиты, щелкните по значку в левом верхнем углу и выберите свойства

Тут настройки шрифта немного другие, вместе с их изменением, меняется и размер консоли.

На вкладке Цвета, можете задать цвет шрифта в powershell да и самого окна. Сделав его например черным, как командная строка.

Размер буфера powershell

Так же советую, если вы активный консольщик выставить размер буфера не в 50 команд, а хотя бы в 100.

Спасибо за внимание. Вот такие вот методы, открытия консоли Power Shell в Windows. Материал сайта pyatilistnik.org

pyatilistnik.org

cmd - Вывод командной строки для PowerShell

На самом деле это намного сложнее, чем вы думаете. Выделение вложенных кавычек в строках, переданных из cmd в PowerShell, является основной головной болью. Что делает этот особенно сложным, так это то, что вам нужно внести замену в переменную, расширенную cmd в цитированном аргументе, переданном powershell.exe в одноколейном аргументе, переданном параметру PowerShell script. AFAIK cmd не имеет каких-либо встроенных функций для даже базовых замен строк, поэтому вам нужна PowerShell для замены для вас.

Если аргумент параметра -data​​strong > (тот, который содержится в переменной cmd x), необязательно должен быть одинарным, простейшая вещь для do - это двойная кавычка, так что одинарные кавычки в значении x вообще не нужно бежать. Я говорю "простейший", но даже это немного сложно. Как указал Василий Сиракис, ^ обычно является escape-символом в cmd, но для того, чтобы избежать двойных кавычек в строке (double-), вы должны использовать \. Итак, вы можете написать свою командную команду следующим образом:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass "G:\test.ps1 -name \"%x%\" -data '%y%'"

Это передает следующую команду PowerShell:

G:\test.ps1 -name "value of x, which may contain 's" -data 'value of y'

Если, однако, x также может содержать символы, которые являются специальными символами в интерполированных строках PowerShell (", $ или `), тогда он становится LOT сложнее. Проблема в том, что % x является переменной cmd, которая расширяется на cmd до того, как PowerShell имеет возможность коснуться ее. Если вы укажете одну котировку в команде, которую вы передаете powershell.exe, и она содержит одну цитату, то вы даете сеансу PowerShell строку, которая заканчивается раньше, поэтому PowerShell не имеет возможности выполнять какие-либо операции над ним. Очевидно, что это не работает, потому что перед тем, как заменить что-либо, оператор -replace должен предоставить правильную строку:

'foo'bar' -replace "'", "''"

С другой стороны, если вы дважды указываете его, то PowerShell интерполирует строку до того, как она выполнит какие-либо замены на ней, поэтому, если она содержит какие-либо специальные символы, они интерпретируются, прежде чем они могут быть экранированы заменой. Я искал высокий и низкий для других способов процитировать строковые строки inline (что-то эквивалентное perl q//, в котором ничего не нужно экранировать, а разделитель по вашему выбору), но не кажется быть чем угодно.

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

setlocal EnableDelayedExpansion set LF=^ set pscommand=G:\test.ps1 -name @'!LF!!x!!LF!'@ -data '!y!' C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass "!pscommand!"
  • Предполагается, что x и y были установлены ранее в пакетном файле. Если ваше приложение может отправлять команду single-line только команде cmd, вам нужно добавить это в пакетный файл, добавив в начале следующие две строки:

    set x=%~1 set y=%~2

    Затем вызовите пакетный файл следующим образом:

    path\test.bat "%x%" "%y%"

    ~ удаляет кавычки, связанные с аргументами командной строки. Вам нужны кавычки, чтобы включать пробелы в переменные, но кавычки также добавляются к значению переменной. Пакет так тупой.

  • Требуются две пустые строки, следующие за set LF=^.

Это касается одиночных кавычек, которые также интерпретируют все остальные символы в значении x буквально, за одним исключением: двойные кавычки. К сожалению, если двойные кавычки могут быть частью значения, как указано в комментарии, я не считаю, что проблема преодолима без использования сторонней утилиты. Причина в том, что, как уже упоминалось выше, пакет не имеет собственного способа выполнения замены строк, а значение x расширяется на cmd до того, как PowerShell его когда-либо увидит.

КТО КТО... ХОРОШИЙ ВОПРОС!!

UPDATE:

В самом деле, оказывается, что можно выполнить статические замены строк в cmd. Дункан добавил ответ, который показывает, как это сделать. Это немного запутанно, поэтому я подробно расскажу о том, что происходит в решении Duncan.

Идея состоит в том, что %var:hot=cold% расширяется до значения переменной var, при этом все вхождения hot заменяются на cold:

D:\Scratch\soscratch>set var=You're such a hot shot! D:\Scratch\soscratch>echo %var% You're such a hot shot! D:\Scratch\soscratch>echo %var:hot=cold% You're such a cold scold!

Итак, в команде (измененной из ответа Дункана, чтобы согласовать с примером OP, для ясности):

powershell G:\test.ps1 -name '%x:'=''%' -data '%y:'=''%'

все вхождения ' в переменных x и y заменяются на '', и команда расширяется до

powershell G:\test.ps1 -name 'a''b' -data 'c''d'

Позвольте сломать ключевой элемент этого, '%x:'=''%':

  • Два ' в начале и в конце - это явные внешние кавы, передаваемые в PowerShell, чтобы процитировать аргумент, то есть те же одинарные кавычки, что OP имел вокруг %x
  • :'='' - это замена строки, указывающая, что ' следует заменить на ''
  • %x:'=''% расширяется до значения переменной x с заменой ' на '', которая равна a''b
  • Поэтому вся вещь расширяется до 'a''b'

Это решение избегает одиночных кавычек в значении переменной намного проще, чем мой обходной путь выше. Тем не менее, OP указал в обновлении, что переменная может также содержать двойные кавычки, и до сих пор это решение по-прежнему не передает двойные кавычки в x в PowerShell - те, которые до сих пор удаляются с помощью cmd перед PowerShell получает команду.

Хорошей новостью является то, что с помощью метода замены строки cmd это становится непреодолимым. Выполните следующие команды cmd после того, как начальное значение x уже установлено:

  • Замените ' на '', чтобы избежать одиночных кавычек для PowerShell:

    set x=%x:'=''%
  • Замените " на \", чтобы избежать двойных кавычек для cmd:

    set x=%x:"=\"%

    Порядок этих двух присвоений не имеет значения.

  • Теперь PowerShell script может быть вызван с использованием синтаксиса, который использовал OP в первую очередь (путь к powershell.exe удален, чтобы он соответствовал всем в одной строке):

    powershell.exe -ExecutionPolicy Bypass "G:\test.ps1 -name '%x' -data '%y'"

Опять же, если приложение может отправлять только однострочную команду в cmd, эти три команды могут быть помещены в пакетный файл, и приложение может вызывать пакетный файл и передавать переменные, как показано выше (первая пуля в моем оригинальный ответ).

Интересно отметить, что если замена " на \" выполняется в строчном режиме, а не с помощью отдельной команды set, вы не избежите " в string, даже если они находятся внутри строки с двумя кавычками, например:

powershell.exe -ExecutionPolicy Bypass "G:\test.ps1 -name '%x:"=\"' -data '%y'"

... не:

powershell.exe -ExecutionPolicy Bypass "G:\test.ps1 -name '%x:\"=\\"' -data '%y'"

qaru.site