无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)无忧启动网成立20周年!广告联系 QQ:184822951 微信:wuyouceo
查看: 5203|回复: 87

[求助] 请大家帮忙写个批处理

  [复制链接]
发表于 2020-11-25 11:21:05 | 显示全部楼层 |阅读模式
本帖最后由 2013koko 于 2020-11-29 21:01 编辑

请大家帮忙写个批处理,谢谢!

原来的2迟迟不能解决,放弃了,换一个:

A、B两个.txt文件,都是简短的文本行。
1、请对比A、B两个文件,输出两文件都有的相同行到C文件。
2、请对比A、B两个文件,输出两文件的差异行 A-B=D文件。


 楼主| 发表于 2020-11-25 14:09:13 | 显示全部楼层
本帖最后由 2013koko 于 2020-11-29 17:27 编辑

1、创建目录文件列表并构建成空文件(由 junyee 坛友提供)

@echo off
pushd %~dp0
rem 先输出文件和目录列表,如:
set srcDir=D:\winpe\wepe\CGI
set outDir=.\Build
dir /s /b /ad  "%srcDir%\" >pe_folder.list
dir /s /b /a-d "%srcDir%\" >pe_file.list
:Build
dir *.list
for /f "delims=" %%i in (pe_folder.list) do mkdir "%outDir%\%%~pnxi"
for /f "delims=" %%i in (pe_file.list) do (
mkdir "%outDir%\%%~pi" 2>NUL
copy nul "%outDir%\%%~pnxi" /y
)
del /q pe_folder.list
del /q pe_file.list
exit

2、对比A、B两个目录,删除B目录下文件名在A目录中找不到对应的文件(由 junyee 坛友提供)

@echo off
set muiDir=D:\winpe\wepe\CGI\Windows\System32\zh-CN
set sysDir=D:\winpe\wepe\CGI\Windows\System32

for /f "delims=" %%i in ('dir /s /b %muiDir%\*.*') do (
if not exist "%sysDir%\%%~ni" del /f /q "%%i"
)

exit


回复

使用道具 举报

发表于 2020-11-25 14:19:18 | 显示全部楼层
如果是一键网络pe,见原帖2楼,已经弄成了一键批处理。

点评

不是处理wim,单纯的bat  详情 回复 发表于 2020-11-25 17:11
回复

使用道具 举报

发表于 2020-11-25 14:19:36 | 显示全部楼层
估计现在是休息时间段,还有一个就是个人觉得作业不适合一次性布置太多。。。。。
还有一个就是2#。。。

点评

大佬这会儿有时间了吗?该做作业了吧  详情 回复 发表于 2020-11-25 19:41

评分

参与人数 1无忧币 +1 收起 理由
being + 1 在理

查看全部评分

回复

使用道具 举报

发表于 2020-11-25 14:48:35 来自手机 | 显示全部楼层
难道大家都不用上班?
回复

使用道具 举报

发表于 2020-11-25 15:31:20 | 显示全部楼层
正则用.过滤掉目录
因为99%的目录都是没有......的
回复

使用道具 举报

发表于 2020-11-25 16:18:26 | 显示全部楼层
本帖最后由 junyee 于 2020-11-26 08:33 编辑

看来好像都是在玩 sairen 的PE啊.
  1. @echo off

  2. set txt=1.txt

  3. for /f "delims=" %%i in (%txt%) do (
  4.   if "%%~xi"=="" (
  5.     mkdir ".\%%~pni"
  6.   ) else (
  7.     mkdir ".\%%~pi" 2>NUL
  8.     copy nul ".\%%~pnxi" /y
  9.   )
  10. )

  11. PAUSE&&GOTO :EOF
复制代码






点评

这个批处理把文件生成文件夹了,请帮忙修改一下,谢谢!  详情 回复 发表于 2020-11-25 17:55
谢谢,这个是第一个的吧?我试试  详情 回复 发表于 2020-11-25 17:13
回复

使用道具 举报

 楼主| 发表于 2020-11-25 17:11:41 | 显示全部楼层
cchessbd 发表于 2020-11-25 14:19
如果是一键网络pe,见原帖2楼,已经弄成了一键批处理。

不是处理wim,单纯的bat
回复

使用道具 举报

 楼主| 发表于 2020-11-25 17:13:07 | 显示全部楼层
junyee 发表于 2020-11-25 16:18
看来好像都是在玩 sairen 的PE啊.

谢谢,这个是第一个的吧?我试试

点评

第二个好像有第三方命令比较两个文本区别的. 不过并不能 区分父目录与子文件~~ 第三个问题有点绕,有时间再琢磨你说的是什么. ~~~~ 我现在已经变成单纯的伸手党了,如果有好的作品分享我一份哪~  详情 回复 发表于 2020-11-25 17:17
回复

使用道具 举报

 楼主| 发表于 2020-11-25 17:17:26 | 显示全部楼层
本帖最后由 2013koko 于 2020-11-25 17:27 编辑
窄口牛 发表于 2020-11-25 15:42
也不发一个文本样品上来,按照描述好像有带点的目录,但不在最后一层?

就是Windows\WinSxS\amd64_microsoft.windows.*这样的,是目录不是文件
回复

使用道具 举报

发表于 2020-11-25 17:17:35 | 显示全部楼层
2013koko 发表于 2020-11-25 17:13
谢谢,这个是第一个的吧?我试试

第二个好像有第三方命令比较两个文本区别的.
不过并不能 区分父目录与子文件~~

第三个问题有点绕,有时间再琢磨你说的是什么.


~~~~
我现在已经变成单纯的伸手党了,如果有好的作品分享我一份哪~

点评

第三个问题其实就是处理Windows\System32\zh-CN下的.mui文件,想偷懒直接提取所有.mui,然后比较Windows\System32下的文件,删除多余的.mui  详情 回复 发表于 2020-11-25 17:26
我这正在当伸手党呢  详情 回复 发表于 2020-11-25 17:21
回复

使用道具 举报

 楼主| 发表于 2020-11-25 17:21:54 | 显示全部楼层
junyee 发表于 2020-11-25 17:17
第二个好像有第三方命令比较两个文本区别的.
不过并不能 区分父目录与子文件~~

我这正在当伸手党呢
回复

使用道具 举报

 楼主| 发表于 2020-11-25 17:26:22 | 显示全部楼层
junyee 发表于 2020-11-25 17:17
第二个好像有第三方命令比较两个文本区别的.
不过并不能 区分父目录与子文件~~

第三个问题其实就是处理Windows\System32\zh-CN下的.mui文件,想偷懒直接提取所有.mui,然后比较Windows\System32下的文件,删除多余的.mui

点评

还是没明白. zh\zh-CN\a.mui 然后去 system32下找是否包含 文件a 吗? 没有的话删除 a.mui ?  详情 回复 发表于 2020-11-25 17:35
还是没明白. zh\zh-CN\a.mui 然后去 system32下找是否包含 文件a 吗? 没有的话删除 a.mui ?  详情 回复 发表于 2020-11-25 17:35
回复

使用道具 举报

发表于 2020-11-25 17:35:46 | 显示全部楼层
2013koko 发表于 2020-11-25 17:26
第三个问题其实就是处理Windows\System32\zh-CN下的.mui文件,想偷懒直接提取所有.mui,然后比较Windows\ ...

还是没明白.

zh\zh-CN\a.mui
然后去
system32下找是否包含 文件a 吗? 没有的话删除 a.mui ?

点评

比如Windows\System32\zh-CN下有个cmd.exe.mui的文件,就去Windows\System32下查找是否存在cmd.exe文件,如果没有cmd.exe,就删除cmd.exe.mui  详情 回复 发表于 2020-11-25 17:44
是的  详情 回复 发表于 2020-11-25 17:40
回复

使用道具 举报

发表于 2020-11-25 17:35:58 | 显示全部楼层
2013koko 发表于 2020-11-25 17:26
第三个问题其实就是处理Windows\System32\zh-CN下的.mui文件,想偷懒直接提取所有.mui,然后比较Windows\ ...

还是没明白.

zh\zh-CN\a.mui
然后去
system32下找是否包含 文件a 吗? 没有的话删除 a.mui ?
回复

使用道具 举报

 楼主| 发表于 2020-11-25 17:40:22 | 显示全部楼层
junyee 发表于 2020-11-25 17:35
还是没明白.

zh\zh-CN\a.mui

是的
回复

使用道具 举报

 楼主| 发表于 2020-11-25 17:44:02 | 显示全部楼层
junyee 发表于 2020-11-25 17:35
还是没明白.

zh\zh-CN\a.mui

比如Windows\System32\zh-CN下有个cmd.exe.mui的文件,就去Windows\System32下查找是否存在cmd.exe文件,如果没有cmd.exe,就删除cmd.exe.mui
回复

使用道具 举报

 楼主| 发表于 2020-11-25 17:55:52 | 显示全部楼层
junyee 发表于 2020-11-25 16:18
看来好像都是在玩 sairen 的PE啊.

这个批处理把文件生成文件夹了,请帮忙修改一下,谢谢!
sshot-1.png

点评

搞反了,已修正。  发表于 2020-11-25 19:03
回复

使用道具 举报

发表于 2020-11-25 18:58:50 | 显示全部楼层
本帖最后由 junyee 于 2020-11-26 10:42 编辑
2013koko 发表于 2020-11-25 17:44
比如Windows\System32\zh-CN下有个cmd.exe.mui的文件,就去Windows\System32下查找是否存在cmd.exe文件, ...

  1. @echo off

  2. set muiDir=C:\Windows\System32\zh-CN
  3. set sysDir=C:\Windows\System32
  4. REM set dbg=echo

  5. for /f "delims=" %%i in ('dir /s /b %muiDir%\*.mui') do (
  6.   if not exist “%sysDir%\%%~ni” %dbg% del /f /q “%%i”
  7. )

  8. pause
复制代码

点评

这个还是不对,没有效果,显示删除的是一些完全不存在的.mui文件?请再琢磨琢磨,很奇怪  详情 回复 发表于 2020-11-25 21:42
谢谢,我试试。  详情 回复 发表于 2020-11-25 19:23

评分

参与人数 1无忧币 +5 收起 理由
9zhmke + 5 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2020-11-25 19:23:34 | 显示全部楼层

谢谢,我试试。
回复

使用道具 举报

 楼主| 发表于 2020-11-25 19:41:28 | 显示全部楼层
江南一根葱 发表于 2020-11-25 14:19
估计现在是休息时间段,还有一个就是个人觉得作业不适合一次性布置太多。。。。。
还有一个就是2#。。。

大佬这会儿有时间了吗?该做作业了吧
回复

使用道具 举报

 楼主| 发表于 2020-11-25 19:55:14 | 显示全部楼层

大神也出马了,谢谢!现在在路上,一会就试
回复

使用道具 举报

 楼主| 发表于 2020-11-25 21:10:41 | 显示全部楼层
本帖最后由 2013koko 于 2020-11-25 21:11 编辑

大神,实测基本已达成效果,还有两个小问题盼解决:
1、在处理目录路径中带空格的目录如 Program Files 目录时出现异常,创建成了 Program 并且非常奇怪地去处理了实际存在的带空格的目录(请看截图中带空格目录的修改时间)!
2、INetCache、INetCookies 两个目录未能创建(这两个目录在 BCompare 中多显示了“(s)” 字样),实际目录中没有。

主要是解决第一个问题,第二个不行就手动,感谢!

sshot-1.png
sshot-2.png
回复

使用道具 举报

 楼主| 发表于 2020-11-25 21:42:06 | 显示全部楼层

这个还是不对,没有效果,显示删除的是一些完全不存在的.mui文件?请再琢磨琢磨,很奇怪
sshot-1.png
回复

使用道具 举报

 楼主| 发表于 2020-11-25 23:59:44 | 显示全部楼层
窄口牛 发表于 2020-11-25 22:40
有空格就难度大了,我也玩不了。

想到个折衷的办法:先把目录中的空格删掉,生成后再改一下就可以了。
再次感谢!

点评

我写的你没试吗,应该是有用的  详情 回复 发表于 2020-11-26 07:47
回复

使用道具 举报

发表于 2020-11-26 07:47:43 来自手机 | 显示全部楼层
2013koko 发表于 2020-11-25 23:59
想到个折衷的办法:先把目录中的空格删掉,生成后再改一下就可以了。
再次感谢!

我写的你没试吗,应该是有用的

点评

显示删除的是一些完全不存在的.mui文件,很奇怪,我的zh-cn下没有这些显示删除的.mui文件,难道强制读取的C:\windows下的?  详情 回复 发表于 2020-11-26 09:50
试过了的,可能您没有看到回复  详情 回复 发表于 2020-11-26 09:47
回复

使用道具 举报

 楼主| 发表于 2020-11-26 09:47:32 | 显示全部楼层
junyee 发表于 2020-11-26 07:47
我写的你没试吗,应该是有用的

试过了的,可能您没有看到回复
sshot-1.png
回复

使用道具 举报

 楼主| 发表于 2020-11-26 09:50:34 | 显示全部楼层
junyee 发表于 2020-11-26 07:47
我写的你没试吗,应该是有用的

显示删除的是一些完全不存在的.mui文件,很奇怪,我的zh-cn下没有这些显示删除的.mui文件,难道强制读取的C:\windows下的?

点评

QQ私信我吧,论坛这样交流太慢了。  详情 回复 发表于 2020-11-26 09:52
回复

使用道具 举报

发表于 2020-11-26 09:52:19 | 显示全部楼层
2013koko 发表于 2020-11-26 09:50
显示删除的是一些完全不存在的.mui文件,很奇怪,我的zh-cn下没有这些显示删除的.mui文件,难道强制读取 ...

QQ私信我吧,论坛这样交流太慢了。

点评

已将我的QQ号发给您了  详情 回复 发表于 2020-11-26 09:57
回复

使用道具 举报

 楼主| 发表于 2020-11-26 09:57:55 | 显示全部楼层
junyee 发表于 2020-11-26 09:52
QQ私信我吧,论坛这样交流太慢了。

已将我的QQ号发给您了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2021-4-22 10:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表