如何通过命令行触发Dirprintok导出目录文件属性至TXT?
可行方案
方案1:用AutoHotkey模拟GUI操作自动化
如果Dirprintok没有官方命令行接口,最直接的方式是用AutoHotkey编写脚本模拟手动操作GUI的步骤,实现自动导出:
- 下载安装AutoHotkey,编写如下示例脚本(根据你的Dirprintok实际界面调整控件名称/位置):
; 启动Dirprintok程序(替换为你的实际安装路径) Run "C:\Program Files\Dirprintok\Dirprintok.exe" WinWaitActive, Dirprintok ; 模拟点击目录选择按钮,输入目标路径 ControlClick, 浏览, Dirprintok WinWaitActive, 浏览文件夹 SendInput "D:\Your\Target\Media\Folder{Enter}" ; 勾选需要导出的属性(根据界面实际复选框文本调整) ControlClick, 帧高, Dirprintok ControlClick, 帧宽, Dirprintok ControlClick, 帧率, Dirprintok ControlClick, 时长, Dirprintok ControlClick, 大小, Dirprintok ControlClick, 数据速率, Dirprintok ; 触发导出并指定输出文件 ControlClick, 导出, Dirprintok WinWaitActive, 另存为 SendInput "D:\DailyExport\MediaInfo.txt{Enter}" ; 关闭程序 WinClose, Dirprintok
- 将脚本保存为
.ahk文件,可编译成独立.exe文件,方便任务计划调用。
方案2:换用支持命令行的工具(推荐)
Dirprintok缺乏命令行支持的话,更可靠的方式是改用MediaInfo这类原生支持命令行提取媒体属性的工具,配合PowerShell/批处理脚本实现批量导出:
- 下载安装MediaInfo,将其安装目录添加到系统环境变量
PATH中。 - 编写PowerShell脚本(示例):
# 配置路径 $targetDir = "D:\Your\Target\Media\Folder" $outputPath = "D:\DailyExport\MediaInfo.txt" # 写入表头 "文件名,帧宽(px),帧高(px),帧率(fps),时长(ms),大小(字节),数据速率(bps)" | Out-File $outputPath -Encoding UTF8 # 遍历目标目录下的所有媒体文件(可按需扩展扩展名) Get-ChildItem -Path $targetDir -Recurse -Include *.mp4,*.avi,*.mkv,*.mov | ForEach-Object { # 提取视频核心属性 $videoInfo = mediainfo --Inform="Video;%Width%,%Height%,%FrameRate%,%Duration%,%BitRate%" $_.FullName $props = $videoInfo -split "," # 拼接行内容并追加到输出文件 "$($_.Name),$($props[0]),$($props[1]),$($props[2]),$($props[3]),$($_.Length),$($props[4])" | Out-File $outputPath -Encoding UTF8 -Append }
方案3:用Windows任务计划实现每日自动执行
不管用上述哪种方案,都可以通过Windows任务计划程序设置每日定时运行:
- 打开「任务计划程序」,创建基本任务;
- 设置触发条件为「每日」,指定执行时间;
- 操作选择「启动程序」,若用AutoHotkey则选择编译后的
.exe文件,若用PowerShell则输入powershell.exe,参数填-File "D:\Path\To\Your\Script.ps1"; - 保存任务即可实现每日自动导出。
内容的提问来源于stack exchange,提问作者asperi
相关产品推荐
相关产品推荐

