Környezeti változók (env:)

A DOS/Windows-os, és néhány PowerShellel kapcsolatos környezeti változót is elérhetünk az env:  PSDrive-on keresztül:

[1] PS C:\> cd env:

[2] PS Env:\> dir

 

Name                           Value

----                           -----

ALLUSERSPROFILE                C:\ProgramData

APPDATA                        C:\Users\Administrator\AppData\Roaming

CommonProgramFiles             C:\Program Files\Common Files

CommonProgramFiles(x86)        C:\Program Files (x86)\Common Files

CommonProgramW6432             C:\Program Files\Common Files

COMPUTERNAME                   DC

ComSpec                        C:\Windows\system32\cmd.exe

FP_NO_HOST_CHECK               NO

HOMEDRIVE                      C:

HOMEPATH                       \Users\Administrator

LOCALAPPDATA                   C:\Users\Administrator\AppData\Local

LOGONSERVER                    \\DC

NUMBER_OF_PROCESSORS           1

OS                             Windows_NT

Path                           %SystemRoot%\system32\WindowsPowerShell...

PATHEXT                        .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;...

PROCESSOR_ARCHITECTURE         AMD64

PROCESSOR_IDENTIFIER           Intel64 Family 6 Model 15 Stepping 10, ...

PROCESSOR_LEVEL                6

PROCESSOR_REVISION             0f0a

ProgramData                    C:\ProgramData

ProgramFiles                   C:\Program Files

ProgramFiles(x86)              C:\Program Files (x86)

ProgramW6432                   C:\Program Files

PSModulePath                   C:\Users\Administrator\Documents\Window...

PUBLIC                         C:\Users\Public

SESSIONNAME                    Console

SystemDrive                    C:

SystemRoot                     C:\Windows

TEMP                           C:\Users\ADMINI~1\AppData\Local\Temp\2

TMP                            C:\Users\ADMINI~1\AppData\Local\Temp\2

USERDNSDOMAIN                  R2.DOM

USERDOMAIN                     R2

USERNAME                       Administrator

USERPROFILE                    C:\Users\Administrator

windir                         C:\Windows

Ezeket a változókat felhasználhatjuk szkriptjeinkben. Például keressük az összes SystemRoot-ban található „log” kiterjesztésű fájlt:

[6] PS C:\> $env:systemroot -split ";" | foreach-object {Get-ChildItem -Path "$

_\*" -Include *.log}

 

 

    Directory: C:\Windows

 

 

Mode                LastWriteTime     Length Name

----                -------------     ------ ----

-a---     2009. 11. 09.     21:14       1774 DtcInstall.log

-a---     2010. 02. 21.     13:01      13484 PFRO.log

-a---     2009. 11. 09.     21:14      14312 setupact.log

-a---     2009. 07. 14.      6:56          0 setuperr.log

-a---     2009. 11. 09.     21:14       1313 TSSysprep.log

-a---     2010. 03. 04.     10:47    1786861 WindowsUpdate.log

Vagy például ki szeretném törölni az összes tmp kiterjesztésű átmeneti állományt:

[47] PS C:\> dir ($($env:temp)+"\*") -Include *.tmp | Remove-Item

Itt előfordulhat, hogy ha vannak zárolt állományaink, akkor törlésük nem sikerül, hibát kapunk, de a többi állományt törli a kifejezés.



Word To HTML Converter