找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29834|回复: 4

[数值计算] [已解决]如何用bat及第三方工具获取文件头?

[复制链接]
发表于 2018-1-30 20:53:24 | 显示全部楼层 |阅读模式
本帖最后由 lanwa 于 2018-2-1 19:06 编辑

用bat处理文件。现在要判断一个文件是不是zip类型的文件。后缀是不靠谱的,只能看文件头了。好像要用到hex但是搜不到命令行用法。求帮助。
发现论坛以前有人用debug读出来了~然而小白不懂。
发表于 2018-1-31 18:55:38 | 显示全部楼层
本帖最后由 ivor 于 2018-1-31 19:58 编辑
改正一下,rar  t只能测试rar文件
  1. 7z t [filename]
复制代码
%errorlevel% = 0    #正常解压
%errorlevel% = 2    #非正常压缩文件

评分

参与人数 1技术 +1 收起 理由
lanwa + 1 感谢~~

查看全部评分

发表于 2018-1-31 19:25:42 | 显示全部楼层
本帖最后由 523066680 于 2018-1-31 19:43 编辑

楼上的方法好。

本来要写个脚本来着,回头想想 findstr 也可以判断,但感觉文件大且多的时候,耗时会比较长
findstr /M "^Rar!" *

zip 文件头 "\x50\x4b\x03\x04",还是用 grep 吧,

>grep --files-with-matches --directories=skip -P "^\x50\x4b\x03\x04" *


输出匹配的文件列表
pax_global_header.zip
strawberry-perl-5.16.3.1-32bit-portable.zip
strawberry-perl-5.16.3.1-64bit-portable.zip

评分

参与人数 1技术 +1 收起 理由
lanwa + 1 感谢~

查看全部评分

 楼主| 发表于 2018-2-1 19:04:36 | 显示全部楼层
%errorlevel% = 0    #正常解压
%errorlevel% = 2    #非正常压缩文件
ivor 发表于 2018-1-31 18:55



经过测试这个命令也会正常测试出一些exe,dll,rar文件。使用下面这个可以比较准确辨别。   
7z t %pa% | find /i "Type = zip">nul || echo 非正常压缩文件! && pause
发表于 2018-2-2 10:06:33 | 显示全部楼层
这三个工具都能解决:filetype、file、trid
batch-cn链接

评分

参与人数 1技术 +1 收起 理由
lanwa + 1 谢谢

查看全部评分

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

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 06:17 , Processed in 0.033814 second(s), 14 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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