|
本帖最后由 黑中见白 于 2022-4-2 18:22 编辑
WinSxS.txt_处理为wimlib格式列表_ps命令_无忧论坛.ps1.cmd好像发错区了
嚓20583没有flash,上传不了
那就//重命名为WinSxS.txt_处理为wimlib格式列表_ps命令_无忧论坛.ps1.cmd
<# :
@powershell -ex bypass -c "icm ([scriptblock]::Create((gc '%~f0' -Raw -Encoding UTF8)))"
exit
#>
#-WindowStyle Hidden
#[Ps1 To Exe]
Write-Host -ForegroundColor White ('powershell命令_hash快速txt去重')
function 排除 ($文本, $规则){
$文本 | Select-String -Pattern $规则 -NotMatch #排除路径
}
function 保留 ($文本, $规则){
$文本 | Select-String -Pattern $规则
}
function 正则替换 ($d, $a, $c){
$d -replace ($a, $c) #删除盘符
}
function hash去重 ($数组) {
$set = [System.Collections.Generic.HashSet[string]]@($数组)
$set -join "`r`n"
}
function 等待($毫秒) { Start-Sleep -Milliseconds $毫秒 }
function 显示($提示, $c) {
$a = -Join ($提示, $c)
Write-Host -ForegroundColor White ($a)
}
function 退出 { exit }
function 结束进程($进程名) { Stop-Process -Name $进程名 }
# $cmd32 = $cmd32 | Select-String -Pattern ("\\Windows\\") #保留系统盘''
# $cmd32 = $cmd32 -replace ($env:SystemDrive, "") #删除盘符
# $cmd32 = $cmd32 -replace ("^.*.$env:SystemDrive\\", "") #删除盘符
$默认保留目录=$默认保留目录+'\Windows\WinSxS\Catalogs'+"`r`n"
$默认保留目录=$默认保留目录+'\Windows\WinSxS\desktop.ini'+"`r`n"
$默认保留目录=$默认保留目录+'\Windows\WinSxS\FileMaps'+"`r`n"
$默认保留目录=$默认保留目录+'\Windows\WinSxS\Manifests'+"`r`n"
$默认保留目录=$默认保留目录+'\Windows\WinSxS\migration.xml'+"`r`n"
$默认保留目录=$默认保留目录+'\Windows\WinSxS\pending.xml'+"`r`n"
$默认保留目录=$默认保留目录+'\Windows\WinSxS\SettingsManifests'+"`r`n"
$默认保留目录=$默认保留目录+'\Windows\winsxs\SystemResources\wcp.dll.mun'+"`r`n"
$files = Get-Childitem -Recurse -Include 'WinSxS.txt'
foreach ($file in $files) #遍历文件
{
$line = GC $files -ReadCount 0
# $line =$line| Select-String -Pattern ("amd64_") -NotMatch #排除路径
# $line =$line| Select-String -Pattern (Gc .\block.ini) -NotMatch #排除路径
$line =$line| Select-String -Pattern ("\\Windows\\WinSxS\\SettingsManifests\\","\\Windows\\WinSxS\\desktop.ini","\\Windows\\WinSxS\\FileMaps","\\Windows\\WinSxS\\Catalogs","\\Windows\\WinSxS\\migration.xml","\\Windows\\WinSxS\\pending.xml","\\Windows\\WinSxS\\SettingsManifests","\\Windows\\winsxs\\SystemResources\\wcp.dll.mun","\\Windows\\WinSxS\\Manifests\\","\\Windows\\WinSxS\\Temp","\\Windows\\WinSxS\\backup") -NotMatch #排除路径
$line =$line -replace ("^.*.\\WinSxS","\Windows\WinSxS")
$line =$line.replace("\WinSxS\amd64_","\WinSxS\amd6412321")
$line =$line.replace("\WinSxS\msil_","\WinSxS\msil12321")
$line =$line.replace("\WinSxS\wow64_","\WinSxS\wow6412321")
$line =$line.replace("\WinSxS\x86_","\WinSxS\x8612321")
# $lmkk =$line| Select-String -Pattern ("_en-us_","_zh-cn_") #保留路径
# $lmkk =$lmkk -replace ("en-us_.*.$","en-us_*")
# $lmkk =$lmkk -replace ("zh-cn_.*.$","zh-cn_*")
# $lmkk =$lmkk -replace ("_.*._en-us","_*_en-us")
# $lmkk =$lmkk -replace ("_.*._zh-cn","_*_zh-cn")
# $line =$line| Select-String -Pattern ("_en-us_","_zh-cn_") -NotMatch #排除路径
$line =$line -replace ("_.*.$","_*")
# $line = $line + $lmkk
$line = hash去重 ($line)
$line =$line.replace("12321","_")
}
$line = $默认保留目录+$line
$file='WinSxS_wimlib格式列表.txt'
Set-Content -Path $file -Value $line
显示('执行完成,请查看WinSxS_wimlib格式列表.txt')
显示('WinSxS.txt_处理为wimlib格式列表_ps命令_无忧论坛.ps1.cmd')
显示('8秒自动退出')
等待(8000)
退出
|
|