Windows.  Virus.  Bärbara datorer.  Internet.  Kontor.  Verktyg.  Förare

Prova att gå in i Kör-fönstret (Win + R) wmplayer och tryck på Enter - Windows Media Player öppnas. Gör nu samma sak på kommandoraden. Spelaren kommer inte att starta eftersom sökvägen till den inte hittades! Varför händer detta?

Bloggläsaren Andrey frågade via e-post i vilka fall det inte är nödvändigt att ange hela sökvägen till dem för att starta körbara filer. Frågan verkade elementär för mig, och jag uppmanade kort läsaren att uppmärksamma PATH-variabeln.

PATH-variabel

Miljövariabel VÄG innehåller sökvägar där Windows automatiskt söker efter körbara filer (EXE, CMD, VBS, etc.) när ett kommando körs. Inledningsvis är endast huvudsystemplatserna inkluderade i variabeln, så program från mapparna Windows och System32 kan startas utan att ange den fullständiga sökvägen.

Hur man visar innehållet i PATH-variabeln

Under installationen skriver vissa program sökvägen till sin mapp där, vilket du förmodligen kommer att verifiera genom att köra kommandot i konsolen väg, som visar system- och användarvariabler tillsammans.

När den körbara filen finns på en av platserna som är kända för Windows, behöver du inte ange hela sökvägen till filen. Jag använder den här egenskapen i operativsystemet för att snabbt starta mina favorit-Nirsoft-verktyg och andra program från mitt bröst (bilden visar att mappen Tools har lagts till i PATH).

Hur du lägger till dina egna sökvägar till PATH-variabeln

Du kan lägga till dina egna sökvägar genom att ändra systemvariabeln PATH, eller genom att skapa en användarvariabel med samma namn. Jag förklarade skillnaden mellan typerna av variabler i ett av frågesporterna. Den berättar också hur du ändrar miljövariabler i GUI. Observera att sökvägar separeras med semikolon.

Du kan snabbt lägga till dina sökvägar till PATH från kommandoraden använder verktyget setx, som ingår i Windows 7. Följande är ett exempel på hur du lägger till sökvägen C:\myfolder till systemisk PATH-variabel (kommandoraden måste köras som administratör).

För /f "tokens=2*" %a In ("Reg-fråga "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v-sökväg") Ange "systempath=%b" set newpath=%systempath%; C:\myfolder1 setx /m sökväg "%newpath%"

Använd först kommandot reg listan med sökvägar läses från systemvariabeln PATH som är lagrad i registret. Sedan kommandot uppsättning ställer in en variabel ny väg med den önskade sökvägen inom den aktuella kommandoradssessionen och kommandot setx/m gör den nya vägen permanent för systemisk variabel (parameter /m).

En anpassad variabel kan ställas in utan administratörsrättigheter med ett liknande tillvägagångssätt. Lägga till en ny sökväg till en befintlig beställnings- PATH-variabeln implementeras så här:

För /f "tokens=2*" %a In ("Reg query "HKCU\Environment" /v Path") Ange "userpath=%b" set newpath=%userpath%;C:\myfolder2 setx sökväg "%newpath" %"

Observera att koden ovan är designad för att köras på kommandoraden. I en kommandofil (CMD) måste procentsymbolerna på första raden vara dubbla.

Det gick strängt taget att klara sig utan setx, eftersom reg kan inte bara läsa data från registret, utan även skriva det där. Men i många fall med setx Lättare att arbeta med mer kompakt syntax.

Naturligtvis beskrev jag inte allt detta så detaljerat för Andrey, utan gav honom helt enkelt vägledning. Men dagen efter skrev han till mig att han visste allt detta (jag är en medioker telepat:) och ställde frågan som jag började dagens historia med. Detta var redan mer intressant, och jag lovade att ta upp ämnet i bloggen!

Registernyckel för appsökvägar

Utan att ange den fullständiga sökvägen kan du faktiskt köra vissa vanliga Windows-program från Kör-fönstret, men inte från kommandoraden. Förutom Windows Media Player är detta till exempel Paint ( mspaint) och Wordpad ( wordpad). Detsamma gäller för MS Office-applikationer - kontrollera kommandot excel eller winword!

Skillnaden mellan Kör-fönstret och kommandotolken är att Windows-skalet (utforskaren) har fler möjligheter än konsolens kommandotolk. I det här fallet handlar det om funktionen ShellExecuteEx, med vilken skalet är försett. När du kör en körbar fil utan att ange dess fullständiga sökväg, söker funktionen:

  • aktuell mapp
  • Windows och System32 mappar
  • registernyckel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Hur avsnittet Appsökvägar fungerar

Låt oss titta på hur App Paths fungerar med Windows Media Player som ett exempel.

  • ett underavsnitt har skapats med ett alias för den körbara filen (i det här fallet är det wmplayer.exe)
  • i parametern Standard den fullständiga sökvägen till filen anges. Om en variabel används i filsökvägen måste parametern vara en förlängningsbar sträng (REG_EXPAND_SZ). När du anger en absolut sökväg kan du använda en vanlig strängparameter (REG_SZ).
  • i parametern Väg programmets arbetsmapp anges

Det fungerar väldigt enkelt. Du anger ett filalias i Run-fönstret eller i adressfältet i Utforskaren, och systemet letar automatiskt i den angivna sökvägen.

Hur du snabbar på ditt arbete med App Paths

Du kan använda den här registernyckeln för att snabbt starta program vars genvägar du inte behöver i aktivitetsfältet eller på skrivbordet. För att till exempel söka och ersätta textfiler använder jag programmet BKReplacem (replacem.exe), som har en egen mapp i PortableSoft-mappen. I avsnittet Appsökvägar skapade jag ett underavsnitt bkr.exe och angav den fullständiga sökvägen till verktyget. Nu handlar det om att köra den bkr i fönstret Kör.

Glöm förresten inte att omge sökvägar som innehåller mellanslag inom citattecken. Och, jag hoppas, du har redan gissat att du kan förkorta kommandot till en bokstav. Om jag fortsätter med det här exemplet kan jag skapa en undernyckel b.exe. I allmänhet kan ett program ha hur många alias som helst, som du kommer att se nedan.

En annan användning jag har hittat för App Paths är att köra cmd.exe med fullständiga rättigheter. Jag har klarat mig utan UAC-prompten länge nu, tack vare att jag kör kommandoraden från Task Scheduler. Efter att ha skapat en cmda.exe-undernyckel, angav jag i den sökvägen till batchfilen som utför uppgiften.

Det finns bara en rad i den:

Schtasks /run /tn CMD_Admin

Ange nu bara kommandot i "Kör"-fönstret cmda för att öppna kommandotolken som administratör.

Vilka intressanta saker kan hittas i avsnittet App Paths

För det första är jag säker på att du kommer att hitta många av de program du har installerat där. Istället för att ange sökvägen till sin mapp i PATH-variabeln, registrerar program sin körbara fil i avsnittet App Paths, enligt Microsofts rekommendationer.

För det andra finns det underavsnitt WORDPAD.EXE Och SKRIV.EXE, båda leder till filen wordpad.exe.

Write-programmet, som var en del av Microsofts första operativsystem, ersattes i Windows 95 av WordPad. Du hittar också ett underavsnitt pbrush.exe, som hänvisar till mspaint, som finns i System32.

Write- och Paintbrush-programmen har inte funnits i Windows på cirka 15 år, men omnämnandet av dem finns fortfarande i systemet! Och detta leder oss till konversationen om när och varför avsnittet Appsökvägar introducerades i Windows.

Historik om appsökvägar

Avsnittet Appsökvägar dök upp i Windows 95 som ett motgift mot igensättningen av PATH-sökvägen, som specificerades i filen autoexec.bat. Program har traditionellt lagt till sökvägarna till sina mappar där, vilket fortfarande ibland görs med miljövariabeln med samma namn. När systemet startade lästes filen och programmen hamnade i systemsökvägen.

Förresten, den gamla metoden autoexec.bat fungerar fortfarande, så att du kan köra körbara filer utan att ange sökvägen, även om det inte är någon mening med att använda den längre.

Det största problemet för utvecklare var att hitta rätt SET PATH-linje i autoexec.bat var en icke-trivial uppgift. I det här fallet kunde du inte infoga din rad i början av filen, eftersom ett annat kommando nedan kan åsidosätta variabeln.

Dessutom var det inte rationellt att lägga till en sökväg till PATH för att peka Windows mot ett enda program, som att skjuta sparvar med en kanon. Det var då Windows 95-utvecklarna kom på en lösning med en registersektion som gjorde att du kunde ange sökvägar till specifika körbara filer.

Varför har det här avsnittet fortfarande underavdelningar för Skriva och Pensel? Så här säkerställer Windows programkompatibilitet!

Teoretiskt sett kunde ett uråldrigt program förlita sig på sina kamrater, vars arvingar redan har bytt namn eller plats. För att förhindra att äldre applikationer går sönder används registernyckeln App Paths.

Pivottabell

Så, låt oss sammanfatta det! Det enklaste sättet är att jämföra funktionerna hos Windows-skalet och systemkommandotolken i tabellform.

I det här formuläret blir det tydligt inte bara det bredare sökintervallet för körbara filer i Explorer, utan också det inte helt uppenbara beroendet av kommandoraden på PATH-variabeln. Det är dess sökvägar som påverkar om det är nödvändigt att ange sökvägen till filer som finns i systemmappar i konsolen.

Slutligen ger avsnittet Appsökvägar ett mervärde genom att du kan ange korta alias för körbara filer, vilket gör dem lättare att köra.

Använder du registernyckeln App Paths eller dina egna miljövariabler? Om ja, då Berätta för oss i kommentarerna hur de gör ditt arbete enklare!

God eftermiddag, kära läsare och gäster på bloggen, idag vill jag diskutera detta ämne med er: vad är Windows-miljövariabler, var kan de användas, både i normal användarpraxis och i praktiken av en systemadministratör, jag kommer att ge du några exempel. Hur det hela konfigureras och ändras för att passa dina behov, enligt min mening, är detta grundläggande kunskap, vars förståelse bättre kommer att visa dig principen för driften av operativsystemen i Windows-familjen.

Vad är windows miljövariabler

Låt oss förstå konceptet, och så miljövariabel (miljövariabel) det här är en speciell typ av länkar av reducerad storlek till vissa objekt i Windows-operativsystemet, som används av olika program för att lagra information och interagera med den. En analogi kan dras med relativa länkar på webbplatser där det inte finns någon uttrycklig indikation på protokollet. Oftast är dessa sökvägar till specifika kataloger i operativsystemet.

Var används Windows miljövariabler?

Låt mig ge dig några exempel:

  • I skript > när till exempel varje användare behöver göra någon form av inställning, till exempel lägga en ny mapp med dokument på skrivbordet. Eftersom varje användare har sin egen sökväg till skrivbordet, som C:\Users\lacky\Desktop, och du kan också komma åt den relativa sökvägen med variabeln %HOMEPATH%, om du anger %HOMEPATH%\Desktop i Explorer, kommer du att tas till den aktuella användarens bord på skrivbordet.

  • i grupprincip för att konfigurera användarmiljöer, till exempel roamingprofiler.
  • Kodoptimering > Om din kod mycket ofta använder samma fil- eller mappsökvägar, såväl som registernycklar, kan du enkelt tilldela en kort variabel för vidare användning. Nedan kommer jag att ge dig en sammanfattande lista över miljövariabler i Windows 10 och tidigare versioner, och jag kommer också att visa dig hur du skapar och ändrar dem.

Alla miljövariabler av Windows 10 och andra versioner inkluderar speciell operatör%. Det är nödvändigt för att operativsystemet ska kunna behandla sökförfrågan. Ett enkelt exempel: du letar efter TEMP-mappen och vet inte var den finns, skriv in %TEMP% och sökningen kommer att ske på alla lokala enheter och partitioner.

Lista över Windows 10 miljövariabler

Listan ovan är helt lämplig för både Windows 7 och Windows 8.1, allt har verifierats personligen. Jag är säker på att denna kunskap i hög grad kommer att hjälpa dig att optimera ditt arbete.

  • %ALLUSERSPROFILE% > denna variabel skickar dig till mappen C:\ProgramData
  • %windir% > detta är mappen C:\Windows
  • %APPDATA% > du är i den dolda mappen C:\Users\Username\AppData\Roaming
  • %CommonProgramFiles% > mapp C:\Program Files\Common Files
  • %CommonProgramFiles(x86)% > tar dig till C:\Program Files (x86)\Common Files
  • %CommonProgramW6432% > omdirigerar dig till C:\Program Files\Common Files
  • %COMPUTERNAME% > Datornamn, används i skript
  • %ComSpec%> öppnar Windows 10-kommandotolken C:\Windows\system32\cmd.exe
  • %HOMEDRIVE% > sökväg till enhet C:
  • %HOMEPATH% > denna Windows-miljövariabel tar dig till användarmappen \Users\Username
  • %LOCALAPPDATA% > denna Windows-miljövariabel tar dig till mappen C:\Users\Username\AppData\Local
  • %LOGONSERVER% > Datornamn
  • %NUMBER_OF_PROCESSORS% > Antal_processorer
  • %OS% > Windows_NT, används även i skript
  • %Path% > C:\Windows\system32;C:\Windows;C:\Windows\System32Wbem;
  • %PATHEXT% .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  • %PROCESSOR_ARCHITECTURE% > x86 eller AMD64, Windows-arkitektur
  • %PROCESSOR_IDENTIFIER% > Intel64 Family 6 Model 37 Stepping 5, GenuineIntel
  • %PROCESSOR_LEVEL% > 6
  • %PROCESSOR_REVISION% > 2505 (exempel)
  • %ProgramData% > mapp C:\ProgramData
  • %ProgramFiles% > C:\Program Files
  • %ProgramFiles(x86)% > mapp C:\Program Files (x86)
  • %ProgramW6432% > C:\Program Files
  • %PROMPT% > $P$G
  • %PSModulePath% > C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ håller mycket snabbt med
  • %PUBLIC% > C:\Users\Public
  • %SystemDrive% > enhet C:
  • %SystemRoot% > C:\Windows
  • %TEMP% >
  • %TMP% > C:\Users\Användarnamn\AppData\Local\Temp (standard)
  • %USERDOMAIN% > Datornamn
  • %USERDOMAIN_ROAMINGPROFILE% > Datornamn
  • %USERNAME% > Användarnamn
  • %USERPROFILE% > C:\Users\Användarnamn

Hur man listar alla Windows-variabler

I Windows 10 och andra versioner kan du visa en lista över alla Windows-miljövariabler genom att öppna en kommandotolk som administratör och ange kommandot SET. Som ett resultat kommer du att få alla standardmiljövariabler för Windows 10 för ett specifikt operativsystem.

För enkelhetens skull kan du exportera hela listan till en textfil, för att göra detta anger du:

set > D:\Variables.txt

Här är innehållet i detta dokument.

En annan metod för att visa operativsystemvariabler är Windows-registret. Tryck på WIN+R och ange regedit. I fönstret Registereditorn som öppnas, gå till grenen:

För att se variabler för din dator

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

För att visa variabler för en användare

HKEY_CURRENT_USER\Environment

Skapa Windows 10 miljövariabler

Förutom befintliga Windows 10-variabler kan du skapa nya, detta är väldigt enkelt och är inte förbjudet. Vad som krävs av dig behöver du gå till systemegenskaperna. Det finns flera metoder, om vi pratar om Windows 10, kan du göra det genom att högerklicka på "Start" -knappen och välja System.

En universell metod är att gå till egenskaperna för min dator eller trycka på tangentkombinationen WIN+Pause Breake.

Från systemegenskapersfönstret bör du gå till "Avancerade systeminställningar"

Och här är två typer av Windows-miljövariabler:

  • Tillfälliga variabler temp
  • Systemvariabler

Båda kan enkelt ändras eller skapas.

Till exempel kommer jag att skapa en ny systemvariabel, kalla den SYSPREP och ange sökvägen till mappen C:\Windows\System32\Sysprep

Som du kan se är det inget komplicerat här tack vare saker som detta, du kan avsevärt förenkla ditt liv och spara mycket tid.

En miljövariabel i Windows lagrar information om OS-inställningar och användardata. Det indikeras med en parad symbol «%» , Till exempel:

Med hjälp av dessa variabler kan du överföra nödvändig information till operativsystemet. Till exempel, %VÄG% lagrar en lista över kataloger där Windows söker efter körbara filer om sökvägen till dem inte är explicit specificerad. %TEMP% lagrar temporära filer och %APPDATA%— användarprograminställningar.

Att ändra miljövariabler kan hjälpa om du vill flytta mappen "temp" eller "AppData" till en annan plats. Redigering %VÄG% låter dig köra program från "Kommandorad" utan att ange en lång sökväg till filen varje gång. Låt oss titta på metoder som hjälper till att uppnå dessa mål.

Metod 1: Datoregenskaper

Som exempel på ett program som behöver lanseras använder vi . Försöker aktivera denna applikation från "Kommandorad", får du det här felet:

Detta händer eftersom du inte angav den fullständiga sökvägen till den körbara filen. I vårt fall ser hela vägen ut så här:

"C:\Program Files (x86)\Skype\Phone\Skype.exe"

För att undvika att detta upprepas varje gång, låt oss lägga till Skype-katalogen till variabeln %VÄG%.


Redo! Nu kan du köra vilket program som helst, inte bara Skype, från vilken katalog som helst "Kommandorad".

Metod 2: "Kommandorad"

Tänk på fallet när vi vill ställa in %APPDATA% till disk "D". Denna variabel saknas från "Miljövariabler", så det kan inte ändras på det första sättet.


Att ändra värdena på miljövariabler kräver viss kunskap inom detta område. Lek inte med värdena och redigera dem inte slumpmässigt för att inte skada operativsystemet. Studera det teoretiska materialet väl och fortsätt först efter det till praktiken.

VÄGär en miljövariabel och är en lista över mappar som används av operativsystemet för att söka efter körbara filer (*.EXE). I praktiken, om mappen läggs till PATH, kan körbara filer köras från kommandoraden utan att ange den fullständiga sökvägen till dem.

  • För att se en lista över mappar som ingår i PATH-variabeln, skriv helt enkelt VÄG på kommandoraden.
  • Du kan lägga till en mapp till PATH med Windows GUI. För att göra detta, öppna dialogrutan för systemegenskaper (WIN+PAUSE), på fliken Dessutom tryck på knappen Miljövariabler, välj i avsnittet systemvariabler VÄG och tryck på knappen Ändra.

Som en del av Windows automatisk installation är vi naturligtvis intresserade av frågan om att lägga till en mapp till PATH från kommandoraden under systeminstallationen.

PATH kommando

Detta kommando lägger till de angivna mapparna till PATH, men ändringarna är giltiga endast under den aktuella kommandosessionen(dvs om du kör det här kommandot från en batchfil, kommer de tillagda mapparna bara att finnas i PATH så länge det körs).

Path=%PATH%;"%systemdrive%\system32\mytools";"%programfiles%\Opera"

pathman verktyg

pathman /as "%systemdrive%\system32\mytools";"%programfiles%\Opera"

Råd. Du kan samla alla dina favoritkommandoradsverktyg i en mapp och lägga till den i din PATH. I exemplet ovan är mina verktyg samlade i %systemdrive%\system32\mytools.

AutoIt-skript

;vilken sökväg ska läggas till i sökvägsvariabeln$addtopath=@ProgramFilesDir&"\7-Zip" ;hämta det aktuella innehållet i sökvägsvariabeln$curpath=RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment","Sökväg")

Om du upptäcker ett fel markerar du ett textstycke och trycker på Ctrl+Enter
DELA: