[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【未解决】利用头数据整理文件的批处理遇到的一些问题

本帖最后由 TAT 于 2022-3-6 16:58 编辑

先简述一下我的思路:
                1.由一个或多个给定目录,使用for结合dir获得一个要进行处理的可迭代的文件列表
                2.读取并分析其头数据,产生可供程序化操作的属性条目数组。(这一步直接在上句的for中进行即可)
                3.根据第二步产生的属性条目数组进行程序化操作,包括取舍等等。无法判断操作的先记录下来,最后特别显示。

        我目前影响进度的几个问题:
                1.因为觉得有必要,所以(没有直接用dir /s而是用for分步进行)第一步代码暂大致如下:
  1. for /f "tokens=*" %%i in ('dir /ad /b /s "C:\音乐" "D:\音乐D" "E:\音乐"') do (
  2.     for /f "tokens=*" %%x in ('dir /a-d /b "%%i"') do ()
复制代码
其中第二次dir由于部分文件夹不存在文件只有文件夹而导致打印出“找不到文件”这样的信息,现已有方法使其不打印,方法如下:
  1. dir /a-d /b "%%i" 2>nul
复制代码
由于语句是for的in部分,因此上边用单引号括起来了,不过上述方法在in中会出错,求解。
  1. for /f "tokens=*" %%x in ('dir /a-d /b "%%i" 2>nul') do ()
复制代码
2.此前个人已查阅大量资料,对于windows的文件系统规则已有简单了解。对于读取文件头信息这点有一些想法,还望诸君不吝赐教。
                    a.在bat中自己写规则,用16进制逐字节读取文件,并对比相关文件格式规则进一步细化翻译出头信息。
                    很显然,这是重复造轮子的事情。。费力且不讨好。。用C实现倒是可行性大一点,batch、Python这些在这似乎就很不合适。。
                    b.技术有限,时间有限,轮子搞不了,退而求其次。于是ffmpeg就被我盯上了,不过相关帮助代码实在对小白不太友好。。也不知道是不是我太小白了??
  1. ::命令行: ffprobe [选项] [‘输入文件’]
  2. ffprobe -hide_banner "E:\桌面\工作文件夹\处处吻 - 杨千嬅.flac"
  3. pause
复制代码
运行结果如图,.flac头信息都有列出。
ffprobe - 01.png

ffprobe - 02.png

                    ffprobe打印出的信息不知道如何存入变量,或者就算存入文件也行。。tips:直接用>>会命令报错。。用|也报错。。求教!!
                    c.ffprobe体积都近百M,在这里无用的代码实在太多了。。特向在座诸君讨教,是否有其他更简单便捷好用的方式方法或者其他什么。
                3.图片文件中有些图片之间存在特殊关系:它们拥有重复的部分区域,但不固定,暂且将之称为”孪生“。
                    “孪生”文件示例如下:






                现求一良策,能够简便地对大量图片进行”孪生“关系情况判断。
                Tips:要么两个文件互为”孪生“关系,要么不存在另一文件与其组成”孪生“关系。两个文件必然分别为1920*1080和1080*1920两种规格之一。
                请尽量使用batch或Python或C实现,因为其他的我可能看不懂。。

回复 1# TAT


问题1:
for /f "tokens=*" %%x in ('dir /a-d /b "%%i" 2^>nul') do ()
1

评分人数

    • TAT: 学到了学到了技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# TAT


问题2:
ffprobe -hide_banner "E:\桌面\工作文件夹\处处吻 - 杨千嬅.flac" 2>out.txt
1

评分人数

    • TAT: 乐于助人技术 + 1
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# TAT


你发的图片看不到,换个图床试试吧:
http://bbs.bathome.net/thread-60985-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher


    图片重新搞好了,麻烦大佬看看再

TOP

返回列表