1.关闭win10/win11自动更新
net stop wuauserv
sc config wuauserv start=disabled
shutdown -r -t 1
复制上述代码,新建文本文档,将代码复制到文本中,保存,修改文本文档的后缀,把txt改成bat
2.win10去除小盾牌
reg add "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Icons" /v 77 /d "%systemroot%\\system32\\imageres.dll,197" /t reg_sz /f
taskkill /f /im explorer.exe
attrib -s -r -h "%userprofile%\\AppData\\Local\\iconcache.db"
del "%userprofile%\\AppData\\Local\\iconcache.db" /f /q
start explorer
3.win11去除安装包提示限制
@(echo off% <#%) &color 07 &title Quick 11 iso esd wim TPM toggle by AveYo - with SendTo menu entry
set "0=%~f0" &set "1=%~f1"&set "2=%~2"& powershell -nop -c iex ([io.file]::ReadAllText($env:0)) &pause &exit/b ||#>)[1]
#:: what's new in v1.1: fixed relative seek, should now work on all iso's
$timer = $(get-date)
#:: Install to SendTo menu when run from another location
if (!$env:1){ write-host "`n No input iso / esd / wim file to patch! use 'Send to' context menu ...`n" -fore Yellow }
$SendTo =[Environment]::GetFolderPath('ApplicationData') '\\Microsoft\\Windows\\SendTo'
if (!$env:1 -and $env:0 -and $(Split-Path $env:0) -ne $SendTo){copy $env:0 "$SendTo\\Quick_11_iso_esd_wim_TPM_toggle.bat" -force}
if (!$env:1){ return }
#:: Can force either patch or undo via second commandline parameter: 1 to patch 0 to undo
if (1 -eq $env:2){$toggle = 1}elseif (0 -eq $env:2){$toggle = 0}else{$toggle = 2}
#:: Verify extension is .iso .esd or .wim
$input = get-item -lit $env:1; $invalid = '.iso','.esd','.wim' -notcontains $input.Extension
if ($invalid){write-host "`n Input is not a iso / esd / wim file ...`n" -fore Yellow; return }
try{[io.file]::OpenWrite($input).close()}catch{write-host "`n ERROR! $input read-only or in use ...`n" -fore Red; return }
#:: TPM patch via InstallationType Server
$typeC = '<INSTALLATIONTYPE>Client'; $typeS = '<INSTALLATIONTYPE>Server'
$block = 1048576; $chunk = 2097152; $count =[uint64]([IO.FileInfo]$input).Length / $chunk - 1
$bytes = new-object "Byte[]" ($chunk); $begin =[uint64]0; $final =[uint64]0; $limit =[uint64]0
function tochars{return[Text.Encoding]::GetEncoding(28591).GetString([Text.Encoding]::Unicode.GetBytes($args[0]))}
$find1 = tochars "</INSTALLATIONTYPE>"; $find2 = tochars "</WIM>"; $cli = tochars $typeC; $srv = tochars $typeS
$f = new-object IO.FileStream ($input, 3, 3, 1); $p = 0; $p = $f.Seek(0, 2)
write-host "$input`nsearching $p bytes, please wait ...`n"
for ($o = 1; $o -le $count; $o ){
$p = $f.Seek(-$chunk, 1); $r = $f.Read($bytes, 0, $chunk); if ($r -ne $chunk){write-host invalid block $r; break}
$u =[Text.Encoding]::GetEncoding(28591).GetString($bytes); $t = $u.LastIndexOf($find1,[StringComparison]4)
if ($t -ge 0){
$f.Seek(($t -$chunk), 1) >''
for ($o = 1; $o -le $chunk; $o ){ $f.Seek(-2, 1) >''; if ($f.ReadByte() -eq 0xfe){$begin = $f.Position; break}}
$limit = $f.Length - $begin; if ($limit -lt $chunk){$x = $limi else{$x = $chunk}
$bytes = new-object "Byte[]" ($x); $r = $f.Read($bytes, 0, $x);
$u =[Text.Encoding]::GetEncoding(28591).GetString($bytes); $t = $u.IndexOf($find2,[StringComparison]4)
if ($t -ge 0){$f.Seek(($t 12 -$x), 1) >''; $final = $f.Positio ; break
}else{ $p = $f.Seek(-$chunk, 1)}
}
if ($begin -gt 0 -and $final -gt $begin){
$x = $final - $begin; $f.Seek(-$x, 1) >''; $bytes = new-object "Byte[]" ($x); $r = $f.Read($bytes, 0, $x)
if ($r -ne $x){break}
$t =[Text.Encoding]::GetEncoding(28591).GetString($bytes)
if ($t.IndexOf($cli,[StringComparison]4) -ge 0){$src = 0}else{$src = 1}
if ($src -eq 0 -and $toggle -ne 0){$old = $cli; $new = $srv}elseif ($src -eq 1 -and $toggle -ne 1){$old = $srv; $new = $cli}
else{write-host "`n:) $input already has TPM patch $toggle"; $f.Dispose(); retur
$t = $t.Replace($old, $new); $t; $b =[Text.Encoding]::GetEncoding(28591).GetBytes($t); $f.Seek(-$x, 1) >''; $f.Write($b, 0, $x)
if ($src -eq 1){write-host "`n :D TPM patch removed" -fore Gree else{write-host "`n:D TPM patch added" -fore Gree
$f.Dispose();[GC]::Collect()
}else{write-host "`n;( TPM patch failed" -fore Red; $f.Dispose()}
#:: how quick was that???
$(get-date) - $script:timer
#:: done
4.解决win11桌面右键卡顿的问题
使用快捷键win R,调出操作,输入regedit,点击确定。调出注册表编辑器
第一项在注册表中展开HKEY_CLASSES_ROOT,找到Directory
展开Directory,依次在其子目录中展开Background , shellex ,ContextMenuHandl er