我想使用 DISM 从 Windows 映像中卸载所有第三方驱动程序,但它似乎不接受通配符。这意味着我必须手动卸载它们,而这正是我想要避免的。到目前为止,我已经以表格形式创建了所有驱动程序的列表,如下图所示:
据我所知我有两个选择:
- 在 Windows 10 中使用 bash 子系统
- 使用 PowerShell。
我只关心oem*.inf部分。但是,除了过滤掉 oem*.inf 文本之外,我还想将其修改为:
/Driver:oem100.inf /Driver:oem101.inf /Driver:oem102.inf /Driver:oem103.inf
等等,以行形式而不是列表格式。
我以为我可以用 grep 来做到这一点,但我的 Linux 技能并不像我希望的那样好。使用 PowerShell 似乎很有希望,但我还不够高级。我该如何实现这一点?
答案1
以下是 PowerShell 解决方案:
$File = "Drivers.txt"
$RegEx = '^oem\d{1,3}.inf'
$Drivers = Select-string $File -Pattern $regex|%{[string]$_.Matches}
$ofs = " /Driver:"
$String="/Driver:"+"$Drivers"
$String | Out-File DriverString.txt
一个小的测试文件给出了这样的结果:
/Driver:oem100.inf /Driver:oem101.inf /Driver:oem102.inf /Driver:oem103.inf /Driver:oem104.inf /Driver:oem105.inf /Driver:oem106.inf /Driver:oem107.inf /Driver:oem108.inf /Driver:oem109.inf