Большинство из вас, должно быть, использовали командную строку в какой-то момент времени - будь то просто ради эксперимента или решения проблемы, такой как восстановление данных после заражения ярлыком вируса. Но как насчет PowerShell, который появился позже? В чем разница между PowerShell и cmd?
Что ж, я уверен - если вы не являетесь опытным пользователем со знанием программирования, вам даже не придется открывать PowerShell. Но можно ли его использовать в качестве замены командной строки? Это только для программистов или с ним легко познакомиться?
У нас есть все, что вам нужно знать о них обоих. Чтобы упростить задачу, мы не будем углубляться в корни их различий, а в этой статье будет выделено только существенное различие между PowerShell и cmd, чтобы помочь вам выбрать, какой из них использовать.
История
1. Командная строка
Командная строка - это интерпретатор командной строки. Он существует в Windows с тех пор, как введение Windows 95. В то время она называлась не «Командная строка», а просто «cmd.exe», которая позволяла пользователям взаимодействовать с операционной системой с помощью определенных команд. А затем с Windows NT это было названо - «Командная строка».
Что ж, теоретически это было почти то же самое, что и COMMAND.COM (или более известное как MS-DOS), с множеством улучшений.

Хотя командная строка технически была оболочкой, но у нее было много недостатков. Во-первых, оболочка не могла помочь автоматизировать все аспекты функциональности графического интерфейса. Во-вторых, он не поддерживает создание сложных сценариев.
2. PowerShell
Чтобы преодолеть недостатки командной строки, Microsoft начал разработку оболочки под названием Monad, которая была намного мощнее командной строки (могла выполнять множество основных административных задач, которые CMD не могла).

Позже, в 2006 году, он был переименован в Microsoft PowerShell. А недавно (в 2016 году) PowerShell был сделан с открытым исходным кодом с кроссплатформенной поддержкой.
Технические функции
Технические различия будут иметь значение только для тех, кто хочет управлять и автоматизировать определенные задачи, взаимодействуя с ОС через интерфейс командной строки. Если вы понятия не имеете, что такое язык программирования, знание технических различий вам не поможет.
PowerShell использует другой набор команд, известный как командлеты. С его помощью вы можете попробовать управлять множеством задач системного администрирования. Однако вы не можете получить доступ к тому же через командную строку. PowerShell также позволяет вам использовать - «каналы» - что является просто способом облегчить передачу информации из одной программы в другую - это делает PowerShell еще более мощным.
Кроме того, как указано выше, с помощью PowerShell вы можете создавать сложные сценарии, но этого не произойдет в командной строке.
Короче говоря, PowerShell - это улучшенная среда командной строки по сравнению с командной строкой.
CMD против Powershell: команды
Если вы собираетесь использовать какой-либо из них большую часть времени, вам следует внимательно изучить их документацию здесь:
Документация по командной строке
Если вы просто хотите узнать основную разницу в их командах, то вот что:
Когда вы наблюдаете такую команду, как cd / dir / переименовать (команды из одного слова), это командная строка для вас. Вот почему это по-прежнему самый простой инструмент командной строки.
Однако с Powershell вы получите более выразительные команды (описывающие их работу), например:
Set-Location/Get-children/Rename-item
Windows PowerShell против командной строки: какую из них использовать?
Учитывая, что PowerShell - это гораздо более продвинутая среда командной строки, она подходит только для системных администраторов Windows.
Если вы знаете о создании сценариев, управлении задачами автоматического администрирования в Windows и хотите сделать это с большей расширяемостью, тогда PowerShell для вас. Кроме того, если вы знаете язык программирования C #, это отлично подойдет.
Однако, если вы не программист и понятия не имеете, что делают системные администраторы, вам следует придерживаться командной строки. Он не устареет. Командная строка по-прежнему будет использоваться многими пользователями (включая программистов) для выполнения менее сложных, но важных вещей, таких как очистка жесткого диска, преобразование диска из GPT в MBR, восстановление после ярлыка вируса и т. д.
Вы бы не захотели использовать PowerShell, если хотите исправить незначительные проблемы или просто проверить данные ping.
Подводя итог
Теперь, когда вы знаете о разнице между PowerShell и CMD, вы можете выбрать любого, кого хотите, в соответствии с задачей, которую вы хотите решить. Среди этих двух нет ничего лучше или хуже, все зависит от того, чего хочет пользователь.
Все еще не понимаете, чем PowerShell отличается от командной строки? Поделитесь с нами своими мыслями в комментариях ниже.
Томас
Привет Анкуш,
Я должен признать, что PowerShell мне потребовалось время, чтобы изучить, но как только вы его изучите, он может творить чудеса.