Cmd.exe versus PowerShell på Windows: En praktisk referanse
Microsoft Windows 10 Vinduer Vindovs 7 Helt / / March 16, 2020
Sist oppdatert den
Kommandolinje eller Powershell på Windows? Her er en titt på begge deler, fordeler og ulemper ved hver enkelt, og noen nøkkelkommandoer som du kan bruke.
Å klikke, klikke, klikke… alltid med å klikke! Hvis du vil ha en raskere måte å gjøre mange ting på i Windows, vil du lære om Commi Line Interfaces (CLI) CMD.exe og PowerShell. Men hvilken bør du bruke? La oss se på begge deler, deres styrker og svakheter og noen nøkkelkommandoer som du kan bruke om og om igjen.
CMD er også kjent som Command Shell. Faktisk omtaler folk ofte det som bare "kommando". Det er et verktøy i Windows som lar brukere utføre oppgaver ved å skrive bokstaver og ord. For de mer erfarne leserne kan du huske dette som MS-DOS-kommandoer. MS-DOS kommer fra MicroSoft DISK Operating System. Disse kommandoene ligger i en fil som heter command.com, gjemt dypt inni Windows. Du vil også finne at noen kommandoer i kommandoskallet påkaller små programmer. Åpne Windows Utforsker og gå til
Hvis du kjenner til de forskjellige kommandoene og hvordan du bruker dem, er det ofte en langt raskere måte å gjøre ting på. Men vær forsiktig! Det er også et kraftig verktøy som kan forårsake alvorlige problemer i Windows hvis du gjør en feil eller ikke vet hva du gjør.
PowerShell er et kommandolinjeværktøy, men også et helt skriptspråk som er bygget på Microsofts .NET-plattform. Den har all kraften og mulighetene til CMD, og mye mer. PowerShell lar deg samhandle med alle fasetter av Windows og kan også samhandle med et bredt utvalg av Microsoft-programmer og servere. Du kan jobbe med ting som Microsoft Office, Exchange Server og Microsoft SQL Server. Utover det kan du også samhandle med databaser som ikke er fra Microsoft, som MySQL, IBMs DB2 og mer. Du kan til og med lage dine egne programmer med brukergrensesnitt. Det er et ekstremt kraftig verktøy som nå også er åpen kildekode og kan brukes på Mac- og Linux-baserte datamaskiner.
Dette gjøres ved å bruke cmdlets, uttalt som "kommandolett". Som "lettes" -delen av ordet antyder, er cmdlets små kommandoer. I CMD er kommandoene selvstendige programmer, da vi viste deg at de er kjørbare applikasjoner i Windows. Cmdlets er mer som byggesteiner. Hver og en gjør en bestemt ting, men de kan settes sammen for å bygge en full kommando, eller manus.
Så hva er forskjellen mellom CMD og PowerShell?
Det er mange tekniske forskjeller mellom dem, og hvis du vil kan du gjøre mer research på det. Men det som er viktig å vite er at PowerShell er langt mindre begrenset enn CMD. Tenk på PowerShell som det CMD ønsket å være når den vokste opp. Hvis CMD er et multiverktøy, er PowerShell hele garasjen full av verktøy.
Når du begynner å sammenligne kommandoene og cmdlettene, vil du også merke at det er lettere å forstå hva en PowerShell-cmdlet kan gjøre. Noen av kommandoene er kryptiske med mindre du lærer dem og bruker dem gjentatte ganger. Formålet med kommandoer som CHKDSK, RMDIR, og tracert er ikke så opplagt for den gjennomsnittlige personen. Men cmdlets følger navnekonvensjonen av verb substantiv. Den første delen forteller deg hvilken handling cmdlet skal gjøre, og den andre delen forteller deg hva ting den kommer til å gjøre. For eksempel kan hvem som helst fortelle at cmdletten Få hjelp kommer til å gi deg hjelp på en eller annen måte.
Hvorfor skulle jeg bruke CMD i stedet for PowerShell?
Det er et spørsmål om personlig valg. Faktisk kan CMD-kommandoer kjøres fra PowerShell-miljøet, så det er mye overlapping. Noen ganger kan det være lurt å gjøre noe veldig enkelt, som å hoppe inn i CMD og sjekke datamaskinens IP-adresse, eller slette en fil med makt. Men hvis det er noe du vil gjøre gjentatte ganger, har du det bedre å skrive et PowerShell-skript. Husk automatiseringsregelen. Hvis du må gjøre noe mer enn to ganger, automatiserer du det.
Hvordan får jeg tilgang til CMD og Powershell?
Den enkleste måten er å klikke i søkefeltet på Start-menyen og begynne å skrive cmd for kommandoskallet eller powershell for PowerShell. Slik ser det ut etter cmd.
For kommandoskallet ser du det oppført som Kommandoprompt-app i Windows 10. Tidligere versjoner av Windows vil vise det som cmd.exe. Åpning av det vil gi deg et svart vindu med hvit tekst i, som på bildet nedenfor. Se linjen C: \ Users \ Brian> Pilspissen kalles ledeteksten. Du vil ofte få instruksjoner for bruk av CMD som sier "Skriv dette ved ledeteksten ..." Det er stedet det refererer til.
Du vil kanskje merke et par valg for PowerShell. Den ene er ganske enkelt Windows PowerShell-appen, og den andre er Windows PowerShell Integrated Scripting Environment (ISE).
Hvis du bare kjører en enkelt kommando eller tre, er PowerShell-appen god nok. Bare for å blåse deg inn, kan du bruke CMD-kommandoer i PowerShell, men du kan ikke bruke PowerShell i CMD. PowerShell-appen ser slik ut når den åpnes:
Vanlige kommandoer i CMD.exe
Bruk disse kommandoene ved ledeteksten, trykk enter for å bruke dem.
HJELP- Vil liste opp vanlige kommandoer
CD - Viser navnet på eller endrer gjeldende katalog.
CHDIR - Viser navnet på eller endrer gjeldende katalog.
CHKDSK - Kontrollerer en disk og viser en statusrapport.
CLS - Rydder skjermen. Praktisk etter å ha kjørt en rekke kommandoer.
KOPI - Kopierer en eller flere filer til et annet sted.
DEL - Sletter en eller flere filer.
DIR - Viser en liste over filer og underkataloger i en katalog.
Diskpart - Viser eller konfigurerer Egenskaper for Diskpartisjon.
EXIT - Avslutter CMD.EXE-programmet (kommandotolker) .MKDIR Oppretter en katalog.
MER - Viser utdata ett skjerm av gangen. Nyttig når en kommando returnerer mye informasjon og bare fortsetter å bla.
BEVEGE SEG - Flytter en eller flere filer fra en katalog til en annen katalog.
RENAME - Gi nytt navn til en fil eller filer.
RMDIR - Fjerner en katalog.
SYSTEMINFORMASJON - Viser maskinspesifikke egenskaper og konfigurasjon.
OPPGAVELISTE - Viser alle oppgaver som for tiden kjører, inkludert tjenester.
taskkill - Drep eller stopp en løpende prosess eller applikasjon.
Vanlige Cmdlets i PowerShell
Få hjelp - Viser deg hjelp for cmdletten du jobber med. ex: Get-Help Get-Member forteller deg hvordan du bruker Get-Member cmdlet.
Get-medlem - Viser hva som er inne i et element, for eksempel en katalog eller en matrise.
Get-Process - Viser alle prosessene som kjører på datamaskinen din akkurat nå.
Get-service - Viser alle tjenestene på datamaskinen din og deres nåværende tilstand.
Get-Element - Viser deg informasjon om en spesifikk ting. ex: Get-C: \ brukere vil vise deg ting om brukerkatalogen, som tillatelsene på den og når den sist ble endret.
Get-ChildItem - Viser deg alle tingene inni en ting: eks: Get-ChildItem C: \ Brukere vil vise deg alle filene og mappene umiddelbart i brukerkatalogen.
Det virker kanskje ikke som mye, men hvis du endrer verbet på de cmdlets, har du en hel haug cmdlets å jobbe med. Endring Få til Ny på Get-Element og du kan opprette en ny vare. Nå endrer du den til Fjerne og du kan slette elementer. Endring Get-Process til Stop-Process og du kan avslutte en spesifikk prosess. Så bytt den til Start og du kan starte en prosess. Du får ideen.
Bonus PowerShell-parameter
-Hva om kan være den viktigste parameteren du noensinne vil bruke. Den lar deg kjøre en cmdlet uten å endre noe. Det gjør bokstavelig talt at PowerShell kjører et ‘Hva hvis’ -scenario for å gi deg et inntrykk av hva som kommer til å skje når du kjører cmdlet for ekte. Hvis du noen gang er bekymret, kan du forårsake noen problemer i PowerShell, legg alltid til -WhatIf-parameteren.
Ta en titt på listen over filer på bildet nedenfor.
La oss si at vi vil fjerne en haug filer med cmdlet Fjern-element cc_2017 *, men vi er ikke helt sikre på hva som vil skje. Sett -Hva om parameter på slutten, trykk på Enter så finner vi ut!
Den forteller oss at denne kommandoen ville ha slettet alle disse filene. Hvis det er bra, kan vi fjerne -WhatIf fra cmdleten og slette disse filene. Hvis den ikke er det, kan vi endre cmdlet og teste den igjen.
CMD eller PowerShell?
Nå som du vet mer om begge deler, vet du at det ikke er et av spørsmålene. Du kan bruke begge deler, det er et godt tidspunkt å bruke det ene eller det andre, og noen ganger kan du til og med bruke dem i samme skript! Fortsett å lære mer om hver og en, og du vil virkelig ha full kontroll over din egen datamaskin før lenge.