无忧启动论坛

标题: 公布手工极限精简Windows的方法,所有版本通用 [打印本页]

作者: hzican    时间: 2016-4-5 18:31
标题: 公布手工极限精简Windows的方法,所有版本通用
本帖最后由 hzican 于 2016-4-7 23:16 编辑

用了几年内存操作系统,一直偷懒,没有认真研究系统的精简,可是发现新的的操作系统体积庞大,又没有出现让人感兴趣的新功能,一直感叹主持微软操作系统开发的带头人一代不如一代!
想一直坚持用老的系统,可是因为商业规则的限制,老的系统,没有人提供新的硬件驱动开发,逼迫用户强行升级,无奈呀!也许以后,我会不得不使用Linux之类的可定制系统...

好了,闲话不说,看到论坛上面没有人公布精简Windows的方法,我来提供一个方法:
1. 跟踪系统启动引导过程,定制极致小的引导文件清单,这个简单.
2.跟踪使用功能,定制极致小的功能文件清单,这会是个很耗费时间的过程.


原理分析:
因为微软的操作系统是闭源的,所以没有办法通过源代码来分析系统引导流程,只能通过外部监视来反推,这就需要一个有力的监视软件来捕捉这个流程!
这里推荐一个工具: Process Monitor, 又是一个被有钱的微软收购的.
我们会使用到其中的 enable boot logging 功能,中文的意思就是"启用引导日志",我们看看截图:
不用选择监视线程,我们现在关注的是文件,直接ok启用该功能,Process Monitor会在系统注入一个文件名为 PROCMON23.SYS 的驱动文件,用来监视系统下次启动过程的内容。
这里要提示的是,在这个驱动加载之前的内容是监视不到的,所以,我后面会补充几个启动必须的文件.

精简步骤(我用VPC2007虚拟机安装三烦精简的239m的Win7,一个是VPC2007软件体积小,另外一个主要是虚拟硬盘格式为VHD文件,Win7可以直接挂载操作):


当然,前面制作的步骤,启动的是个最小化的Windows, 没有更多的图形操作功能  因为我们在虚拟机里操作的原因,除了模拟administratorm关机没有进行任何操作,所以监视的内容比较少,
大家可以多模拟一下,比如点击计算机图标等等其他操作,可以多监视一些文件!
最后祝大家精简的开心!
也希望大家总结,把每个功能模块需要的文件清单,提炼出来,最后形成一个个真正组件定制化的Windows系统!






补充内容:
1. 关于 Process Monitor 一打开就开始监视,并且要求确认过滤条件的现象,如果要避免的话,可以创建一个快捷方式, 然后加上参数:/noconnect /quiet,看截图:


2. 关于启用“boot loggong”,  "C:\Windows\System32\Drivers\PROCMON23.SYS"写入失败的原因,我分析了一下原因,是因为直接打开Process Monitor, 默认就开始监视系统,所以会自动先写入这个驱动,再次写入的时候,因为这个驱动已经在使用中就覆盖不了,这样就造成了这样的现象,如果像补充内容1那样建立一个快捷方式不默认直接监视的话,是不会有这样的情况发生的,这个应该是它的一个Bug吧,Process Monitor应该判断,如果已经写入驱动,就不要再次写入了,只要修改注册表,让这个驱动下次系统启动的开始监控就可以了,正是没想到高手也有这样低级的bug产生,因为我的习惯一直是我不想用的东西,你就不要给我默认开启,所以一直以来都是用快捷方式打开的,还正是没有发现这样的bug存在,处理方法很多,简单点,直接补充注册表内容,帮ProcessMonitor完成这一步;或者驱动文件不能覆盖或者删除的情况下,是可以改名的,再写入就不会报错了,不过下次启动后不要忘了删除僵尸文件;另外重启系统,用快捷方式打开再启用Boot logging功能也是可以的。
想补充注册表的看这里:
  1. Windows Registry Editor Version 5.00

  2. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\PROCMON23]
  3. "Group"="FSFilter Activity Monitor"
  4. "SupportedFeatures"=dword:00000003
  5. "Start"=dword:00000000
  6. "Type"=dword:00000001
  7. "ImagePath"=hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
  8.   72,00,69,00,76,00,65,00,72,00,73,00,5c,00,50,00,52,00,4f,00,43,00,4d,00,4f,\
  9.   00,4e,00,32,00,33,00,2e,00,53,00,59,00,53,00,00,00

  10. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\PROCMON23\Instances]
  11. "DefaultInstance"="Process Monitor 23 Instance"

  12. [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\PROCMON23\Instances\Process Monitor 23 Instance]
  13. "Altitude"="385200"
  14. "Flags"=dword:00000000
复制代码

作者: 12250279    时间: 2016-4-5 19:14
注册表的方法有办法提取吗
作者: hzican    时间: 2016-4-5 19:27
12250279 发表于 2016-4-5 19:14
注册表的方法有办法提取吗

这种精简方法是精简文件,不精简原有功能,需要什么功能,在这个最小化文件列表上添加相应功能的文件清单就可以了!
所以注册表文件使用的是精简版本的注册表,就受精简版本框架的限制,如果使用的是原版的安装文件安装的话,就不会有任何功能框架的损失!
作者: 2011bialau    时间: 2016-4-5 20:19
楼主的方法很细致啊!改天用你这个方法制作一个ramos!
作者: lsc1117    时间: 2016-4-5 20:48
先收藏,有时间细看。
作者: 2013llss    时间: 2016-4-5 20:57
**方法有空好好学习

作者: 2013llss    时间: 2016-4-5 21:29
问下  能在实机或VHD的系统中  这么操作后精简吗?

作者: hzican    时间: 2016-4-5 21:48
2013llss 发表于 2016-4-5 21:29
问下  能在实机或VHD的系统中  这么操作后精简吗?

可以,就是最后复制文件阶段,你需要进入WinPE或者另外一个系统来执行复制操作,毕竟热备份比较麻烦
作者: yurunghost    时间: 2016-4-5 22:07
这个可以有??
作者: 2013llss    时间: 2016-4-5 22:21
hzican 发表于 2016-4-5 21:48
可以,就是最后复制文件阶段,你需要进入WinPE或者另外一个系统来执行复制操作,毕竟热备份比较麻烦

能反着来吗?  保留要用的  删除没用的

作者: hzican    时间: 2016-4-5 22:44
2013llss 发表于 2016-4-5 22:21
能反着来吗?  保留要用的  删除没用的

要删除的文件数量太多,而且不同精简版本的文件数量都不同,所以还是复制提取出来的文件的办法比较合适,如果测试精简文件启动成功,就可以把备份原系统文件的那个临时目录删除了
作者: 2013llss    时间: 2016-4-5 22:53
这个方法做内存系统是个好方法  我想做的是  VHD里面驱动打全要用到的常用软件全点一边  然后、、、就全很小了吗?

作者: wuyouaaa    时间: 2016-4-5 23:06
Win7有wes;win8+有dism++
作者: hzican    时间: 2016-4-5 23:10
2013llss 发表于 2016-4-5 22:53
这个方法做内存系统是个好方法  我想做的是  VHD里面驱动打全要用到的常用软件全点一边  然后、、、就全很 ...

你这个想法有点不对,因为精简的是文件数量,不影响系统架构,所以你发现缺少某个功能的时候,只要实时添加文件就可以了,没必要一次监视完所有的功能,这不符合动态精简的理论,只要操作一些基本的功能就可以了。
要提醒的是,Boot Logging模式下,监视日志文件的大小是随时间不断增大的,所以这种模式适合监视系统启动阶段,监视其他功能使用的文件,在使用前某功能前,直接用 Process Monitor 监视,结束要监视的操作以后,立即停止 Process Monitor 的监视,保存刚才监视时间段的日志,离线分析就可以得到某个操作需要的文件清单了

作者: hzican    时间: 2016-4-5 23:17
本帖最后由 hzican 于 2016-4-5 23:20 编辑
wuyouaaa 发表于 2016-4-5 23:06
Win7有wes;win8+有dism++


这些办法,都不能精简到我这么小,你在实体机试试结果就知道了,你要知道,我通过这个监视文件的办法,发现Users目录下面最后只需要两个.dat文件,ProgromData只需要一个.bmp文件,你就知道Windows系统里面有多少僵尸文件和临时的无用文件。你要是机器好的话,可以虚拟机操作,我就是笔记本RamOS,无硬盘,无U盘,16G全内存虚拟机操作,一般一个系统精简就是半个小时的事情
作者: 2013llss    时间: 2016-4-5 23:27
好的  我有空试下看看  到时再来反映
作者: soukouzen    时间: 2016-4-5 23:39
不论怎么样,还是谢谢楼主分享的
作者: 光家的小暗    时间: 2016-4-5 23:52
小白来支持一个
作者: xman00    时间: 2016-4-6 00:13
看了楼主的大作,我佩服得五体投地。默默点个赞,高明。
作者: 行者武松    时间: 2016-4-6 06:39
不知道精简过后能否封装成功?
作者: 2012shm    时间: 2016-4-6 07:33
赞一个,谢谢分享
作者: novillage    时间: 2016-4-6 08:00
先收藏,有时间细看。
作者: 12250279    时间: 2016-4-6 11:36
hzican 发表于 2016-4-5 19:27
这种精简方法是精简文件,不精简原有功能,需要什么功能,在这个最小化文件列表上添加相应功能的文件清单 ...

你的这种方法 可以加上原来论坛有人推荐的日戳法 配合起来 我想会更好,
作者: boy6585948    时间: 2016-4-6 12:01
如果有系统功能跟相关的文件、注册表对应的关系表,就完美了,这样无论是对于精简系统还是内存系统制作都是有很大用处的,期待大神总结分享!!!
作者: wuyouaaa    时间: 2016-4-6 12:05
hzican 发表于 2016-4-5 23:17
这些办法,都不能精简到我这么小,你在实体机试试结果就知道了,你要知道,我通过这个监视文件的办法, ...

lz的方法最大的问题是注册表的精简,这是影响系统速度的大头,并且文件监视的方式很难保证通用性和可移植性,或许在本机做ramos值得一试
作者: happysong21    时间: 2016-4-6 17:53
楼主的思路非常好,先收藏,回头再学习!
作者: hzican    时间: 2016-4-6 19:01
12250279 发表于 2016-4-6 11:36
你的这种方法 可以加上原来论坛有人推荐的日戳法 配合起来 我想会更好,

如果只是精简文件,日戳法是最简单实用的,不用我这种方法,这么麻烦。但是日戳法不是所以文件会更新访问日期,所以不得已,采用这种极限方法。
我尝试过日戳法,发现只有一部分文件的访问日期更新过,不是所有的文件都会及时更新访问日期。可能微软考虑性能,没有实时更新,据说国外有无聊人士测试,可能要保持开机一小时以后才会更新,具体没有确认过
作者: hzican    时间: 2016-4-6 19:12
boy6585948 发表于 2016-4-6 12:01
如果有系统功能跟相关的文件、注册表对应的关系表,就完美了,这样无论是对于精简系统还是内存系统制作都是 ...

你说得是,我现在只是公布极限精简文件的方法,还没有涉及到封装,下一步就是准备研究封装的问题
作者: promrhxq    时间: 2016-4-6 20:32
真是好方法,学习了

作者: boy6585948    时间: 2016-4-7 07:27
boy6585948 发表于 2016-4-6 12:01
如果有系统功能跟相关的文件、注册表对应的关系表,就完美了,这样无论是对于精简系统还是内存系统制作都是 ...

支持大神,很多大神们一点一滴测试出来的东西都很不容易啊,可以理解大神们都比较忙,如果能提供更多的思路也是比较好的!!!每个人都可以尝试各种可能性!!!
作者: nnail    时间: 2016-4-7 07:57
能否把复制列表分享一下,让我们只须做最后的复制工作,这样不是更简单吗?
作者: 永恒心锁    时间: 2016-4-7 08:51
批处理错误提示:此时不应有 \paths.csv") do @for /f "tokens。
作者: hzican    时间: 2016-4-7 12:29
nnail 发表于 2016-4-7 07:57
能否把复制列表分享一下,让我们只须做最后的复制工作,这样不是更简单吗?

这种极限精简法,每台电脑的配置不一样,文件都不太一样,是为自身打造定制的系统
作者: hzican    时间: 2016-4-7 12:31
本帖最后由 hzican 于 2016-4-7 12:32 编辑
永恒心锁 发表于 2016-4-7 08:51
批处理错误提示:此时不应有 \paths.csv") do @for /f "tokens。


请截图,我来看看错误原因,只是一句cmd命令,按道理是不会出错的,是不是你拼错了!
作者: 永恒心锁    时间: 2016-4-7 12:59
hzican 发表于 2016-4-7 12:31
请截图,我来看看错误原因,只是一句cmd命令,按道理是不会出错的,是不是你拼错了!



命令我复制的你的命令
作者: 永恒心锁    时间: 2016-4-7 12:59
hzican 发表于 2016-4-7 12:31
请截图,我来看看错误原因,只是一句cmd命令,按道理是不会出错的,是不是你拼错了!

(for /f "usebackq skip=1 delims=," %I in ("D:\paths.csv") do @for /f "tokens=2 delims=:" %J in (%I) do @for /f %K in ("C:%J") do @if exist %K echo %~aK|findstr "^d" >nul||echo %J)>D:\files.txt
作者: 阁法渊    时间: 2016-4-7 13:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: hzican    时间: 2016-4-7 13:22
永恒心锁 发表于 2016-4-7 12:59
(for /f "usebackq skip=1 delims=," %I in ("D:\paths.csv") do @for /f "tokens=2 delims=:" %J in (%I ...

你截图的语法是错的,这个语法是对的,不过我估计你应该是实体机上操作的,不是在虚拟机,我原来语法复杂,是因为不想修改文件,但是虚拟机挂载以后又不是C:盘,所以用了%J%K转换盘符和截掉盘符,你如果盘符是C:盘的话,可以简化成下面的语句:
  1. (for /f "usebackq skip=1 delims=," %I in ("D:\paths.csv") do @if exist %I echo %~aI|findstr "^d" >nul||echo %pnxI)>D:\files.txt
复制代码

作者: 永恒心锁    时间: 2016-4-7 13:45
hzican 发表于 2016-4-7 13:22
你截图的语法是错的,这个语法是对的,不过我估计你应该是实体机上操作的,不是在虚拟机,我原来语法复杂 ...

(for /f "usebackq skip=1 delims=," %I in ("D:\paths.csv") do @if exist %I echo %~aI|findstr "^d" >nul||echo %pnxI)>D:\files.txt


作者: hzican    时间: 2016-4-7 14:05
永恒心锁 发表于 2016-4-7 13:45
(for /f "usebackq skip=1 delims=," %I in ("D:\paths.csv") do @if exist %I echo %~aI|findstr "^d" > ...

你这句命令行放在批处理文件里面要一个%变成%%,还有就是,如果有错误,需要你把echo off暂时删除,让帮助你的人看到执行的具体语句和过程,否则只看到文件名,看到错误提示,看不倒具体的执行语句,还是无法帮到你,最后等你执行没有错误了,就可以把echo off加上了屏蔽语句了
作者: JCDN    时间: 2016-4-7 17:46
技术贴,收藏备用
作者: myBOOT    时间: 2016-4-7 18:08
方法不错。配合WES 7不是更好?
作者: pcfan120    时间: 2016-4-7 20:53
多谢分享
作者: hzican    时间: 2016-4-7 23:31
如果有人遇到启用“启动日志”功能,可是写入驱动文件失败的问题的话,请参照1楼的补充内容2,来解决问题
作者: 2010wcy    时间: 2016-4-8 09:14
这个要先支持,
作者: happysong21    时间: 2016-4-8 18:01
期待有人能按照楼主的方法搞出一个比较通用的工具来!
作者: dafs    时间: 2016-4-9 08:51
支持楼主的技术分享
作者: 追风    时间: 2016-4-11 18:35
学习了,谢谢分享经验。
作者: fhqvx    时间: 2016-4-11 23:17
我惊呆了,好贴啊,很难得的好贴












来源:立体车库网(www.xpxpxpxp.cn)
作者: xuchuhui    时间: 2016-4-12 02:49
适合虚拟机的文件列表能共享下吗?
作者: mougua783    时间: 2016-4-12 09:41
参考参考,我认为很好,大家说说
作者: 2010sya    时间: 2016-4-19 12:13
lsc1117 发表于 2016-4-5 20:48
先收藏,有时间细看。


先收藏,有时间细看。
作者: liuzhaoyzz    时间: 2016-4-21 12:52
支持楼主公布技术细节,似乎有一定局限性,适合个性,不适合通用。
对于技术派可以这样玩,对于一般人,时间精力还是要耗费很多的。
作者: plutoshen    时间: 2016-4-25 22:27
支持楼主,通过学习每个人都可以自己定制适合自己的系统了。
作者: 2011mtw35    时间: 2016-4-26 00:17
有点复杂,只能看看,没能力操作,
作者: wuyouman01    时间: 2016-4-26 08:51
楼主,这个精简方案非常好,对于win8要用metro程序怎么办?
作者: 2011npwjm    时间: 2016-4-26 09:20
不错的教程,收藏一个
作者: wuyouman01    时间: 2016-4-27 20:39
本帖最后由 wuyouman01 于 2016-4-27 20:45 编辑

楼主这个精简方案非常佩服,win8.1 x64,只是得到的files列表,xcopy后蓝屏
作者: hzican    时间: 2016-4-27 21:01
wuyouman01 发表于 2016-4-27 20:39
楼主这个精简方案非常佩服,win8.1 x64,只是得到的files列表,xcopy后蓝屏

有些启动必须的文件在启动 Process Monitor 服务前是监视不倒的,要手工添加添加这些文件。
比如Win7系统里面:winload.exe、c_936.nls、l_intl.nls 这三个文件就需要手工添加,Win8的启动原理应该和Win7差不多,你看看是不是少这三个文件

作者: wuyouman01    时间: 2016-4-27 21:31
这三个加了还是不行,虚拟机里做的,要么是虚拟机的磁盘驱动没加缘故。
作者: hzican    时间: 2016-4-27 21:45
wuyouman01 发表于 2016-4-27 21:31
这三个加了还是不行,虚拟机里做的,要么是虚拟机的磁盘驱动没加缘故。

应该与驱动无关,ProcessMonitor能检测到驱动一级的加载,你用Windows的F8键启动系统自带的启动日志记录,看看\Windows\ntbtlog.txt这里面的文件清单,对你有没有帮助?
作者: zjdiy    时间: 2016-5-4 13:13
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=178550
日志法+日戳法+保留文件+自己定义保留文件
看看这个
作者: cszwin    时间: 2016-5-25 16:40
太好了 感谢
作者: baso0204    时间: 2016-6-8 13:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: wangzhe0301    时间: 2018-2-4 20:45
谢谢分享学习学习
作者: 黑中见白    时间: 2018-6-16 01:44
无盘天使有个驱动可以监控文件使用
wdmon64.sys
缺点是不能按照指定进程监控

作者: 念青    时间: 2018-8-7 22:20
本帖最后由 念青 于 2018-8-13 09:05 编辑

WIN7 64bit SP1,一开始停止了某些据说可以优化的服务之后,精简后的系统有包括如下

开始/搜索菜单不能搜索包括CMD等各种工具,BAT文件右键管理员方式打开无法启动CMD。直接到system32目录下启动cmd.com是可以的。但是同目录下的mmc.exe启动不能,双击都说找不到。管理工具/设备管理器等打不开。底部导航栏上的资源管理器,原来放置的软件快捷方式都启动不了。

以上等等问题。

然后用默认系统服务进程状态重做了一次,计算机属性/管理,控制面板的一些功能/写字板/画图/机带游戏等的启动,同时常用软件,包括QQ/CHROME/迅雷等绿色软件,OFFICE2010的D盘安装等,都做一下。并且只对windows 目录文件进行处理,其余三个目录暂保留原样。目前看,IE64bit启动有问题,控制面板的组策略有一部分有问题,其它好像还好。Windows目录在1.9GB。随后反复监控添加包括gpedit.msc等控制面板项的系统DLL等档,但是相关控制面板项仍是访问不能,无法再跟进,这个应该说相当制约使用。


另外,如果是实体机操作,一个盘符 C: 的话,主楼提供的命令有问题,只会得到一堆内容为 %pnxI 的行。这个还请修正一下。
(for /f "usebackq skip=1 delims=," %I in ("C:\paths.csv") do @if exist %I echo %~aI|findstr "^d" >nul||echo %pnxI)>C:\files.txt
作者: wy2018ttt    时间: 2018-10-15 09:41

作者: eastmz    时间: 2018-10-15 23:47
很好,我得学学
作者: 对方水电费的    时间: 2018-10-16 10:30
我看看!!!  
作者: sh52pj    时间: 2018-11-4 11:31
请问win10启动必须得文件列表有嘛?现在新电脑只能装win10了!多谢多谢
作者: promrhxq    时间: 2018-11-24 15:43
敢问高手大大:

小白的理解:这个语句的目的是按照列表文件复制文件,源目录是E:\0,目标目录是E:\

不知是否正确,有个想法就是想把目标目录改为E:\2,那么该语句改如何修改?恳请赐教,多谢~

  1. for /f "usebackq delims=" %I in ("z:\files.txt") do @(echo f|xcopy "E:\0%I" "E:%I" /h) >nul
复制代码


通过网页爬文,搜到部分按列表复制的一些案例,但是不够仔细,始终参不透玄机,还是回来请高手解答一下。

如果本文中另外几个批处理能详解一下其中要义,自然是最好了,期待楼主回复。
作者: chishingchan    时间: 2018-11-24 16:13
监测 安全模式 的系统会不会更好更精简呢?!
作者: chinaren12    时间: 2018-11-24 16:46
我只想说,神操作呀,这简直就是上帝之手呀!!!
作者: yyjpcx    时间: 2019-1-19 14:12
黑中见白 发表于 2018-6-16 01:44
无盘天使有个驱动可以监控文件使用
wdmon64.sys
缺点是不能按照指定进程监控

现在用火绒剑  可以做到
作者: sairen139    时间: 2019-9-17 16:08
关于【[原创]公布手工极限精简Windows的方法,所有版本通用】提取系统盘C盘的Files.txt文件列表的修正
昨天我安装hzican的手工精简系统帖子【[原创]公布手工极限精简Windows的方法,所有版本通用】的方法进行手工精简LTSB2016的64位系统,因为是直接在实体电脑系统C盘操作到最后第二步需要转化C盘里paths.csv文件提取出系统盘的files.txt文件时,发现hzican提供的命令行窗口里的语句有误,正确的提取系统盘的最少精简文件成files.txt的语句如下:
(for /f "usebackq skip=1 delims=," %I in ("C:\paths.csv") do @if exist %I echo %~aI|findstr "^d" >nul||echo %~pnxI)>C:\files.txt



上面这个语句(这个语句的作用是逐行抓取c根目录下paths.csv里的包括盘符的完整路径对照系统盘结构如果正则表达式发现有目录即findstr "^d"则删除此行,然后汇总输出保留下来的纯文件的除去盘符以外的路径文件名后缀名为file.txt列表文本文件)可以直接拷贝然后WIN➕R打开运行,输入cmd打开黑色的命令符窗口粘贴进去回车就能得到系统盘的极限精简的最少必要文件列表files.txt了!


E4C3DF84-FC77-4858-9593-1FDE3DA2C8FE.jpeg (1004.06 KB, 下载次数: 111)

E4C3DF84-FC77-4858-9593-1FDE3DA2C8FE.jpeg

作者: yaya141319    时间: 2019-9-17 16:25
這個技巧, 配合正式版的授權證書, 正好可以用來破解預覽版的時間炸彈.
作者: xman00    时间: 2019-9-17 16:25
热心回复:):):)
作者: sairen139    时间: 2019-9-21 22:26
经典的手工极限精简系统的方法,我按照你的教程制作出了超级小的精简系统!非常感谢!
作者: 518hl    时间: 2019-9-22 08:44
sairen139 发表于 2019-9-21 22:26
经典的手工极限精简系统的方法,我按照你的教程制作出了超级小的精简系统!非常感谢!

求成品
作者: nc4485    时间: 2020-2-19 21:28
好的技术文章,不过要花大量的精力
作者: 黑中见白    时间: 2020-3-4 13:14
#过滤.PS1
#当前盘符过滤  $env:SystemDrive
$tempfile="boot.csv"
Import-Csv $tempfile -Delimiter "," | Select "Extension" | Export-Csv WmiData.csv -Delimiter "," -Encoding UTF8 -notypeinfo
$line=Get-Content  -Path .\WmiData.csv
$line=$line.Replace('"',"")
$line| set-content WmiData.csv

Start-Sleep -Milliseconds 200
$去重=Get-Content "WmiData.csv"

#$去重=$去重 -replace(".$","")
#$去重=$去重 -replace("^.","")
$去重=$去重| Select-String -Pattern "[.]"
$去重=$去重| Select-String -Pattern "$env:SystemDrive\\"
$去重=$去重| Select-String -Pattern ("^.:\\Program Files\\Common Files","^.:\\Program Files (x86)\\Common Files","^.:\\Program Files (x86)\\Windows Photo Viewer","^.:\\Program Files\\Windows Photo Viewer","^.:\\W")#正则包括列表
#正则排除列表
$去重=$去重| Select-String -Pattern ("\*","^.:\\Windows\\TEMP","^.:\\Windows\\Prefetch","^.:\\Windows\\System32\\config","^.:\\Windows\\assembly","^.:\\Windows\\WinSxS","^.:\\Windows\\Installer","^.:\\Windows\\System32\\DRIVERSTORE","^.:\\Windows\\SysWOW64\\zh-CN","^.:\\Windows\\System32\\zh-CN","^.:\\Windows\\SOFTWAREDISTRIBUTION","\\Microsoft.NET","\\CSC\\","\\SystemApps\\","\\Logs\\","\\LogFiles\\") -NotMatch
#$去重=$去重| Select-String -Pattern (Get-Content .\Include.ini)#正则包括列表
#$去重=$去重| Select-String -Pattern (Get-Content .\Exclude.ini) -NotMatch #正则排除列表
$去重 | Set-Content "处理完成.txt"  -encoding utf8
CMD /C "del WmiData.csv"
作者: nc4485    时间: 2020-3-6 19:26
今天有空,试了一下,非常完美,就是麻烦点,是要把所有要用的地方最好点一下,不然功能会有缺失
作者: sairen139    时间: 2020-3-6 19:52
nc4485 发表于 2020-3-6 19:26
今天有空,试了一下,非常完美,就是麻烦点,是要把所有要用的地方最好点一下,不然功能会有缺失

请问你是用win7系统还是win10系统来完成精简的?
作者: nc4485    时间: 2020-3-6 22:21
sairen139 发表于 2020-3-6 19:52
请问你是用win7系统还是win10系统来完成精简的?

我是Win7系统,用的很不错
作者: NOS    时间: 2020-11-24 00:08
收藏
作者: 2010wlm    时间: 2020-11-24 08:48
确实比较耗时,需要精心研究啊
作者: 秋水长天369    时间: 2020-12-22 21:28
谢谢大神的分享
作者: wynewlife    时间: 2020-12-23 17:32
谢谢楼主,学习了。
作者: myyouth    时间: 2022-11-29 17:23
感谢楼主提供方法
作者: yiwan    时间: 2022-11-29 17:32
精彩呈现
作者: lovessmm    时间: 2022-12-1 01:02
不论怎么样,还是谢谢楼主分享的
作者: 家驹    时间: 2022-12-1 08:18
技术贴寥寥无几的回帖
作者: lychh    时间: 2022-12-1 09:32
        赞一个!
作者: martin313    时间: 2023-11-20 14:24

进来认真学习一下
作者: ootd123123    时间: 2024-7-20 08:00
多谢楼主分享
作者: carlsea    时间: 2024-7-20 08:01
谢谢分享
作者: huiyao_zhou    时间: 2024-7-20 09:21
先收藏,有时间细看。
作者: 远大的理想    时间: 2024-7-20 10:01
感谢分享,已收藏




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3