Cmd.exe kontra PowerShell på Windows: En användbar referens
Microsoft Windows 10 Fönster Vindovs 7 Hjälte / / March 16, 2020
Senast uppdaterad den
Kommandorad eller Powershell på Windows? Här är en titt på båda, fördelarna och nackdelarna med var och en och några nyckelkommandon som du kan använda.
Klicka, klicka, klicka... alltid med klickan! Om du vill ha ett snabbare sätt att göra många saker i Windows vill du lära dig mer om Command Line Interfaces (CLI) CMD.exe och PowerShell. Men vilken bör du använda? Låt oss titta på båda, deras styrkor och svagheter och några nyckelkommandon som du kan använda om och om igen.
CMD är också känd som Command Shell. Faktum är att människor oftast hänvisar till det som bara "kommando". Det är ett verktyg i Windows som gör det möjligt för användare att utföra uppgifter genom att skriva bokstäver och ord. För de mer erfarna läsarna kanske du kommer ihåg detta som MS-DOS-kommandon. MS-DOS kommer från MicroSofta Disk Oörelseresultatet Ssystemprogram. Dessa kommandon finns i en fil som heter command.com, undangömt djupt inuti Windows. Du kommer också att upptäcka att vissa kommandon i kommandoskalet åberopar små program. Öppna Windows Explorer och gå till
Om du känner till de olika kommandona och hur du använder dem är det ofta ett mycket snabbare sätt att göra saker. Men var försiktig! Det är också ett kraftfullt verktyg som kan orsaka allvarliga problem i Windows om du gör ett misstag eller inte vet vad du gör.
PowerShell är ett kommandoradsverktyg, men också ett helt skriptspråk byggt på Microsofts .NET-plattform. Den har all kraft och kapacitet hos CMD och mycket mer. PowerShell låter dig interagera med alla aspekter av Windows och kan också interagera med en mängd olika Microsoft-program och servrar. Du kan arbeta med saker som Microsoft Office, Exchange Server och Microsoft SQL Server. Utöver det kan du också interagera med andra databaser än Microsoft, till exempel MySQL, IBMs DB2 och mer. Du kan till och med skapa dina egna program med gränssnitt. Det är ett extremt kraftfullt verktyg som nu också är öppen källkod och kan användas på Mac- och Linux-baserade datorer.
Detta görs med hjälp av cmdlets, uttalade som "kommandotabeller". Som "lettes" -delen av ordet antyder är cmdlets små kommandon. I CMD är kommandona fristående program, eftersom vi visade att de är körbara applikationer i Windows. Cmdlets är mer som byggstenar. Var och en gör en specifik sak, men de kan sättas ihop för att bygga ett fullständigt kommando eller manus.
Så vad är skillnaden mellan CMD och PowerShell?
Det finns många tekniska skillnader mellan dem, och om du vill kan du göra mer forskning på det. Men det som är viktigt att veta är att PowerShell är mycket mindre begränsat än CMD. Tänk på PowerShell som den som CMD ville bli när den växte upp. Om CMD är ett multiverktyg är PowerShell hela garaget fullt av verktyg.
När du börjar jämföra kommandona och cmdletterna kommer du också att märka att det är lättare att förstå vad en PowerShell-cmdlet kan göra. Vissa av kommandona är kryptiska om du inte lär dig dem och använder dem upprepade gånger. Syftet med kommandon som CHKDSK, RMDIR, och tracert är inte så uppenbar för den genomsnittliga personen. Men cmdlets följer namnkonventionen om verb-substantiv. Den första delen berättar vilken åtgärd cmdlet kommer att göra, och den andra delen berättar vilken sak den ska göra. Till exempel kan vem som helst berätta att cmdletten Få hjälp kommer att få dig hjälp på något sätt.
Varför skulle jag använda CMD istället för PowerShell?
Det är en fråga om personligt val. Faktum är att CMD-kommandon kan köras från PowerShell-miljön, så det finns mycket överlappning. Ibland kanske du bara vill göra något riktigt enkelt, som att hoppa in i CMD och kontrollera datorns IP-adress eller ta bort en fil med kraft. Men om det är något du vill göra upprepade gånger är det bättre att du skriver ett PowerShell-skript. Kom ihåg automatiseringsregeln. Om du måste göra något mer än två gånger, automatisera det.
Hur får jag åt CMD och Powershell?
Det enklaste sättet är att klicka i sökfältet på Start-menyn och börja skriva cmd för kommandoskalet eller powershell för PowerShell. Så här ser det ut cmd.
För kommandoskalet ser du det visas som kommandotolken-appen i Windows 10. Tidigare versioner av Windows kommer att lista det som cmd.exe. Om du öppnar det får du ett svart fönster med vit text i det, som på bilden nedan. Se raden C: \ Users \ Brian> Pilhuvudet kallas kommandotolken. Du får ofta instruktioner för hur du använder CMD som säger "Skriv detta i kommandotolken ..." Det är den plats det hänvisar till.
Du kanske dock märker ett par val för PowerShell. Den ena är helt enkelt Windows PowerShell-appen och den andra är Windows PowerShell Integrated Scripting Environment (ISE).
Om du bara kör ett enda kommando eller tre, är PowerShell-appen tillräckligt bra. Bara för att blåsa i dig kan du använda CMD-kommandon i PowerShell, men du kan inte använda PowerShell i CMD. PowerShell-appen ser så här ut när den öppnas:
De vanligaste kommandona i CMD.exe
Använd dessa kommandon vid kommandotolken, tryck på enter för att använda dem.
HJÄLP- Visar vanliga kommandon
CD - Visar namnet på eller ändrar den aktuella katalogen.
CHDIR - Visar namnet på eller ändrar den aktuella katalogen.
CHKDSK - Kontrollerar en disk och visar en statusrapport.
CLS - Rensar skärmen. Praktiskt efter att ha kört en massa kommandon.
KOPIERA - Kopierar en eller flera filer till en annan plats.
DEL - Raderar en eller flera filer.
DIR - Visar en lista över filer och underkataloger i en katalog.
DISKPART - Visar eller konfigurerar Disk Partition-egenskaper.
UTGÅNG - Avslutar programmet CMD.EXE (kommandotolk) .MKDIR Skapar en katalog.
MER - Visar utgången en skärm i taget. Användbart när ett kommando returnerar mycket information och det bara fortsätter att rulla.
FLYTTA - Flyttar en eller flera filer från en katalog till en annan katalog.
DÖP OM - Byt namn på en fil eller filer.
RMDIR - Tar bort en katalog.
SYSTEM INFORMATION - Visar maskinspecifika egenskaper och konfiguration.
UPPGIFTSLISTA - Visar alla aktuella uppgifter inklusive tjänster.
taskkill - Döda eller stoppa en igång process eller applikation.
De vanligaste Cmdlets i PowerShell
Få hjälp - Visar dig hjälp för cmdletten du arbetar med. ex: Get-Help Get-Member berättar hur du använder Get-Member cmdlet.
Get-medlem - Visar vad som finns i ett objekt, som en katalog eller en matris.
Get-Process - Visar alla processer som körs på din dator just nu.
Get-Service - Visar alla tjänster på din dator och deras nuvarande tillstånd.
Get-Post - Visar dig information om en specifik sak. ex: Get-Item C: \ Users visar saker om användarkatalogen, som behörigheterna på den och när den senast ändrades.
Get-ChildItem - Visar dig alla saker inuti en sak: ex: Get-ChildItem C: \ Användare visar dig alla filer och mappar omedelbart inuti användarkatalogen.
Det kanske inte verkar mycket, men om du ändrar verbet på de cmdlets har du en hel massa cmdlets att arbeta med. Förändra Skaffa sig till Ny på Get-Post och du kan skapa ett nytt objekt. Ändra det nu till Ta bort och du kan ta bort objekt. Förändra Get-Process till Stop-Process och du kan avsluta en specifik process. Ändra sedan till Start och du kan starta en process. Du får idén.
Bonus PowerShell-parameter
-Tänk om kan vara den viktigaste parametern du någonsin kommer att använda. Det låter dig köra en cmdlet utan att ändra någonting. Det gör bokstavligen att PowerShell kör ett "Vad om" -scenario för att ge dig en uppfattning om vad som kommer att hända när du kör cmdlet på riktigt. Om du någonsin är orolig kan du orsaka problem i PowerShell, lägg alltid till -WhatIf-parametern.
Titta på listan över filer i bilden nedan.
Låt oss säga att vi vill ta bort ett gäng filer med cmdlet Ta bort-artikel cc_2017 *, men vi är inte riktigt säkra på vad som kommer att hända. Sätta -Tänk om parameter i slutet, tryck på Enter så får vi veta!
Det säger till oss att detta kommando skulle ha tagit bort alla dessa filer. Om det är bra kan vi ta bort -WhatIf från cmdletten och ta bort dessa filer. Om det inte är det, kan vi ändra cmdletten och testa den igen.
CMD eller PowerShell?
Nu när du vet mer om båda, vet du att det inte är endera eller en fråga. Du kan använda båda, det finns en bra tid att använda det ena eller det andra, och ibland kan du till och med använda dem i samma skript! Fortsätt att lära dig mer om var och en så kommer du verkligen ha full kontroll över din egen dator innan länge.