请大家帮忙写个批处理
本帖最后由 2013koko 于 2020-11-29 21:01 编辑请大家帮忙写个批处理,谢谢!
原来的2迟迟不能解决,放弃了,换一个:
A、B两个.txt文件,都是简短的文本行。
1、请对比A、B两个文件,输出两文件都有的相同行到C文件。
2、请对比A、B两个文件,输出两文件的差异行 A-B=D文件。
本帖最后由 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
如果是一键网络pe,见原帖2楼,已经弄成了一键批处理。 估计现在是休息时间段,还有一个就是个人觉得作业不适合一次性布置太多。。。。。
还有一个就是2#。。。 难道大家都不用上班? 正则用.过滤掉目录
因为99%的目录都是没有......的 本帖最后由 junyee 于 2020-11-26 08:33 编辑
看来好像都是在玩 sairen 的PE啊.
@echo off
set txt=1.txt
for /f "delims=" %%i in (%txt%) do (
if "%%~xi"=="" (
mkdir ".\%%~pni"
) else (
mkdir ".\%%~pi" 2>NUL
copy nul ".\%%~pnxi" /y
)
)
PAUSE&&GOTO :EOF
cchessbd 发表于 2020-11-25 14:19
如果是一键网络pe,见原帖2楼,已经弄成了一键批处理。
不是处理wim,单纯的bat junyee 发表于 2020-11-25 16:18
看来好像都是在玩 sairen 的PE啊.
谢谢,这个是第一个的吧?我试试 本帖最后由 2013koko 于 2020-11-25 17:27 编辑
窄口牛 发表于 2020-11-25 15:42
也不发一个文本样品上来,按照描述好像有带点的目录,但不在最后一层?
就是Windows\WinSxS\amd64_microsoft.windows.*这样的,是目录不是文件 2013koko 发表于 2020-11-25 17:13
谢谢,这个是第一个的吧?我试试
第二个好像有第三方命令比较两个文本区别的.
不过并不能 区分父目录与子文件~~
第三个问题有点绕,有时间再琢磨你说的是什么.
~~~~
我现在已经变成单纯的伸手党了,如果有好的作品分享我一份哪~ junyee 发表于 2020-11-25 17:17
第二个好像有第三方命令比较两个文本区别的.
不过并不能 区分父目录与子文件~~
我这正在当伸手党呢{:1_189:} junyee 发表于 2020-11-25 17:17
第二个好像有第三方命令比较两个文本区别的.
不过并不能 区分父目录与子文件~~
第三个问题其实就是处理Windows\System32\zh-CN下的.mui文件,想偷懒直接提取所有.mui,然后比较Windows\System32下的文件,删除多余的.mui 2013koko 发表于 2020-11-25 17:26
第三个问题其实就是处理Windows\System32\zh-CN下的.mui文件,想偷懒直接提取所有.mui,然后比较Windows\ ...
还是没明白.
zh\zh-CN\a.mui
然后去
system32下找是否包含 文件a 吗? 没有的话删除 a.mui ? 2013koko 发表于 2020-11-25 17:26
第三个问题其实就是处理Windows\System32\zh-CN下的.mui文件,想偷懒直接提取所有.mui,然后比较Windows\ ...
还是没明白.
zh\zh-CN\a.mui
然后去
system32下找是否包含 文件a 吗? 没有的话删除 a.mui ? junyee 发表于 2020-11-25 17:35
还是没明白.
zh\zh-CN\a.mui
是的 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 junyee 发表于 2020-11-25 16:18
看来好像都是在玩 sairen 的PE啊.
这个批处理把文件生成文件夹了,请帮忙修改一下,谢谢! 本帖最后由 junyee 于 2020-11-26 10:42 编辑
2013koko 发表于 2020-11-25 17:44
比如Windows\System32\zh-CN下有个cmd.exe.mui的文件,就去Windows\System32下查找是否存在cmd.exe文件, ...
@echo off
set muiDir=C:\Windows\System32\zh-CN
set sysDir=C:\Windows\System32
REM set dbg=echo
for /f "delims=" %%i in ('dir /s /b %muiDir%\*.mui') do (
if not exist “%sysDir%\%%~ni” %dbg% del /f /q “%%i”
)
pause junyee 发表于 2020-11-25 18:58
谢谢,我试试。 江南一根葱 发表于 2020-11-25 14:19
估计现在是休息时间段,还有一个就是个人觉得作业不适合一次性布置太多。。。。。
还有一个就是2#。。。
大佬这会儿有时间了吗?该做作业了吧{:1_186:} 窄口牛 发表于 2020-11-25 19:47
大神也出马了,谢谢!现在在路上,一会就试 本帖最后由 2013koko 于 2020-11-25 21:11 编辑
窄口牛 发表于 2020-11-25 19:47
大神,实测基本已达成效果,还有两个小问题盼解决:
1、在处理目录路径中带空格的目录如 Program Files 目录时出现异常,创建成了 Program 并且非常奇怪地去处理了实际存在的带空格的目录(请看截图中带空格目录的修改时间)!
2、INetCache、INetCookies 两个目录未能创建(这两个目录在 BCompare 中多显示了“(s)” 字样),实际目录中没有。
主要是解决第一个问题,第二个不行就手动,感谢!
junyee 发表于 2020-11-25 18:58
这个还是不对,没有效果,显示删除的是一些完全不存在的.mui文件?请再琢磨琢磨,很奇怪 窄口牛 发表于 2020-11-25 22:40
有空格就难度大了,我也玩不了。
想到个折衷的办法:先把目录中的空格删掉,生成后再改一下就可以了。
再次感谢! 2013koko 发表于 2020-11-25 23:59
想到个折衷的办法:先把目录中的空格删掉,生成后再改一下就可以了。
再次感谢!
我写的你没试吗,应该是有用的 junyee 发表于 2020-11-26 07:47
我写的你没试吗,应该是有用的
试过了的,可能您没有看到回复 junyee 发表于 2020-11-26 07:47
我写的你没试吗,应该是有用的
显示删除的是一些完全不存在的.mui文件,很奇怪,我的zh-cn下没有这些显示删除的.mui文件,难道强制读取的C:\windows下的? 2013koko 发表于 2020-11-26 09:50
显示删除的是一些完全不存在的.mui文件,很奇怪,我的zh-cn下没有这些显示删除的.mui文件,难道强制读取 ...
QQ私信我吧,论坛这样交流太慢了。 junyee 发表于 2020-11-26 09:52
QQ私信我吧,论坛这样交流太慢了。
已将我的QQ号发给您了