- 聯發科創新基地介紹
- 聯發科的全資子公司,專注於 AI 研究
- 據點遍佈劍橋、倫敦和台灣大學
This powershell script modifies the Base Image, or the Virtual Hard Disk, which the Windows Sandbox launches upon startup. It will copy the required files to the sandbox and add a registry key which will install them upon startup. By default the script will install the latest stable release of Winget. You can specify to use the latest pre-release with the -PreRelease
switch.
When a new version of Winget is released, run this script again to update the installation in the sandbox to the latest version
開啟 Windows PowerShell
將 IE
函式加入到 $PROFILE
之中
[System.IO.Directory]::CreateDirectory([System.IO.Path]::GetDirectoryName($PROFILE))
notepad $PROFILE
public class TimeOnlyConverter : JsonConverter<TimeOnly> | |
{ | |
private readonly string serializationFormat; | |
public TimeOnlyConverter() : this(null) { } | |
public TimeOnlyConverter(string? serializationFormat) | |
{ | |
this.serializationFormat = serializationFormat ?? "HH:mm:ss.fff"; | |
} |
public class DynamicJsonConverter : JsonConverter<dynamic> | |
{ | |
public override dynamic Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) | |
{ | |
if (reader.TokenType == JsonTokenType.True) | |
{ | |
return true; | |
} |
public class DateOnlyConverter : JsonConverter<DateOnly> | |
{ | |
private readonly string serializationFormat; | |
public DateOnlyConverter() : this(null) { } | |
public DateOnlyConverter(string? serializationFormat) | |
{ | |
this.serializationFormat = serializationFormat ?? "yyyy-MM-dd"; | |
} |
using Serilog; | |
using Serilog.Events; | |
var builder = WebApplication.CreateBuilder(args); | |
Log.Logger = new LoggerConfiguration() | |
.ReadFrom.Configuration(builder.Configuration) | |
.CreateLogger(); | |
try |
using namespace System.Management.Automation | |
using namespace System.Management.Automation.Language | |
if ($host.Name -eq 'ConsoleHost') | |
{ | |
Import-Module PSReadLine | |
} | |
Set-PSReadLineOption -PredictionSource History | |
Set-PSReadLineOption -PredictionViewStyle ListView |
# 移除兩個不實用的 Cmdlet Aliases | |
If (Test-Path Alias:curl) {Remove-Item Alias:curl} | |
If (Test-Path Alias:wget) {Remove-Item Alias:wget} | |
# 快速開啟 c:\windows\system32\drivers\etc\hosts 檔案 | |
function hosts { notepad c:\windows\system32\drivers\etc\hosts } | |
# 快速產生一組亂數密碼 (預設會產生 10 個字元的密碼) | |
function New-Password { | |
<# |
# winget parameter completion | |
Register-ArgumentCompleter -Native -CommandName winget -ScriptBlock { | |
param($wordToComplete, $commandAst, $cursorPosition) | |
[Console]::InputEncoding = [Console]::OutputEncoding = $OutputEncoding = [System.Text.Utf8Encoding]::new() | |
$Local:word = $wordToComplete.Replace('"', '""') | |
$Local:ast = $commandAst.ToString().Replace('"', '""') | |
winget complete --word="$Local:word" --commandline "$Local:ast" --position $cursorPosition | ForEach-Object { | |
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_) | |
} | |
} |