Introduction
参考 官网
环境变量
环境变量位于全局变量 $env
中。
修改 PATH
$env.path += ";C:\Path"
修改系统环境变量
[Environment]::GetEnvironmentVariable('Path', 'Machine')
[Environment]::SetEnvironmentVariable('JAVA_HOME', 'C:\Program Files\Java\jdk-11.0.13' , 'Machine')
Proxy
使用环境变量控制代理。
$env:HTTP_PROXY="127.0.0.1:8118"
$env:HTTPS_PROXY="127.0.0.1:8118"
使用 System.Net.WebProxy
对象控制使用代理。
优先使用 [System.Net.WebRequest]::DefaultWebProxy
中的代理配置。如果该项未设置,则默认使用系统代理
可以通过 [System.Net.WebRequest]::GetSystemWebProxy()
获取系统代理。
Start-BitsTransfer 使用代理
对于 Start-BitsTransfer
命令可以指定代理参数
Start-BitsTransfer -Source $dartSdkUrl -Destination $dartSdkZip -ProxyUsage "Override" -ProxyList "127.0.0.1:8118"
文档
https://docs.microsoft.com/zh-cn/powershell/
获取命令帮助
Get-Help Get-Item
初始化脚本
位于 %USERPROFILE%\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
环境变量
增加当前 Shell 中的环境变量中的搜索路径。
$env:Path+=";C:\PowerShell\myscript";
使用 .Net 方法可以直接修改系统全局环境变量。
[environment]::SetEnvironmentvariable("Path", ";c:\powershellscript", "User")
命令
创建符号链接
New-Item -Path $link -ItemType SymbolicLink -Value $target
允许脚本执行
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
操作系统特性
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
文件操作
查看目录
Get-ChildItem -Path "C:\"
查看隐藏文件
Get-ChildItem -Path "C:\" -Hidden
创建文件
New-Item -Path "C:\" -ItemType "File" -Name "new.txt"
创建文件夹
New-Item -Path "C:\" -ItemType "Directory" -Name "folder"
拷贝文件
Copy-Item -Path "C:\a.txt" -Destination "D:\"
批量重命名
Get-ChildItem | Rename-Item -NewName { $_.Name + ".7z" }
带过滤批量重命名
Get-ChildItem | Where-Object { $_.Name -match ".pdf"} | Rename-Item -NewName { $_.Name + ".7z" }