开发 · 命令参考
qzx compareFiles
作用
逐行比较文本文件,并通过精确字节和 SHA-256 比较二进制文件。
命令成熟度:Alpha
可用于真实使用和反馈,但其接口与行为仍可能继续演进。 这是当前开发 checkout 的评估。未来每个不可变发布标签都会保留该版本中包含的准确评估。 可在 PyPI 0.2.2.0.9 使用。文档对应 alpha checkout 0.2.2.0.9。
行为与内置保护
只检查,不改变状态
此操作直接执行
无需调用原生程序即可运行
无需网络即可运行
设计为无需提权即可运行
此安全分类由 OpenAI GPT-5.6 Pro 于 2026-08-25 对照实现摘要 sha256:14fc4e563390c03c8b4fc17e1efdc444e275ec2e8f03986ccaf5153e2e407d2e 审阅。
准确语法
qzx compareFiles <file1> <file2> [mode] [max_bytes] --json参数
滑动或使用横向滚动条查看所有列。
| 名称 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| file1 | str | 是 | 未声明 | 第一个文件的路径 |
| file2 | str | 是 | 未声明 | 第二个文件的路径 |
| mode | str | 否 | "full" | 比较模式:"full"(完整)、"summary"(摘要)或 "percent"(百分比) |
| max_bytes | int | 否 | 1048576 | 每个文件允许的最大大小(字节,默认 1 MiB) |
输入示例
qzx compareFiles "file1.py" "file2.py"比较两个 Python 文件并显示所有差异
qzx compareFiles "file1.txt" "file2.txt" "summary"显示两个文本文件之间的差异摘要
qzx compareFiles "version1.js" "version2.js" "percent"显示两个 JavaScript 文件的相似度百分比
qzx compareFiles "image-a.png" "image-b.png"通过字节和 SHA-256 检查两个二进制文件是否完全相同
要获得完整结构化载荷,请添加 --json: qzx compareFiles <file1> <file2> [mode] [max_bytes] --json
实测输出示例
使用 Windows 11 上的 QZX 0.2.2.0.9 捕获;退出码 0。依赖主机的值和耗时可能不同。
示例命令: qzx compareFiles ../artifacts/qzx-evidence/compare-files/before.txt ../artifacts/qzx-evidence/compare-files/after.txt full --json
{
"success": true,
"file1": "../artifacts/qzx-evidence/compare-files/before.txt",
"file2": "../artifacts/qzx-evidence/compare-files/after.txt",
"identical": false,
"added_lines": 1,
"removed_lines": 1,
"total_changes": 2,
"diff": "Differences between '../artifacts/qzx-evidence/compare-files/before.txt' and '../artifacts/qzx-evidence/compare-files/after.txt':\n--- ../artifacts/qzx-evidence/compare-files/before.txt\n+++ ../artifacts/qzx-evidence/compare-files/after.txt\n@@ -1,2 +1,2 @@\n shared line\n-before\n+after\n\nStatistics:\n- Added lines: 1\n- Removed lines: 1\n- Total changes: 2",
"message": "Compared '../artifacts/qzx-evidence/compare-files/before.txt' with '../artifacts/qzx-evidence/compare-files/after.txt': 1 added and 1 removed lines.",
"content_type": "text",
"comparison_basis": "decoded_text_lines",
"byte_identical": false,
"bytes_file1": 21,
"bytes_file2": 20,
"encoding_file1": "utf-8",
"encoding_file2": "utf-8",
"encoding_confidence_file1": 1,
"encoding_confidence_file2": 1,
"sha256_file1": "66b132726d57d857c416bf212c2ac4758f8088ffd9144b01fca3f412dd0e163a",
"sha256_file2": "245ea69b327e3ad2ea5f90573f1a6357e076642171ad33720bd183fd7aed18f9",
"similarity_available": true,
"mode": "full",
"max_bytes": 1048576,
"meta": {
"command": "compareFiles",
"command_maturity": {
"stage": "alpha",
"label": "Alpha",
"sequence": 2,
"public_executable": true,
"stability": "interface_may_change",
"summary": "Available for real use and feedback while its interface and behavior can still evolve.",
"promotion_review_required": false,
"assessment_scope": "development_checkout"
},
"duration_ms": 6.208,
"schema_version": 1
}
}查看 JSON 结果契约
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
},
"error": {
"type": "string"
},
"error_code": {
"type": "string"
},
"remediation": {
"type": "string"
},
"file1": {
"type": "string"
},
"file2": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"full",
"summary",
"percent"
]
},
"identical": {
"type": "boolean"
},
"added_lines": {
"type": "integer"
},
"removed_lines": {
"type": "integer"
},
"total_changes": {
"type": "integer"
},
"diff": {
"type": "string"
},
"similarity": {
"type": "number"
},
"lines_file1": {
"type": "integer"
},
"lines_file2": {
"type": "integer"
},
"identical_lines": {
"type": "integer"
},
"changes": {
"type": "integer"
},
"summary": {
"type": "string"
},
"content_type": {
"type": "string",
"enum": [
"text",
"binary"
]
},
"comparison_basis": {
"type": "string"
},
"byte_identical": {
"type": "boolean"
},
"bytes_file1": {
"type": "integer"
},
"bytes_file2": {
"type": "integer"
},
"max_bytes": {
"type": "integer"
},
"encoding_file1": {
"type": [
"string",
"null"
]
},
"encoding_file2": {
"type": [
"string",
"null"
]
},
"encoding_confidence_file1": {
"type": [
"number",
"null"
]
},
"encoding_confidence_file2": {
"type": [
"number",
"null"
]
},
"sha256_file1": {
"type": "string"
},
"sha256_file2": {
"type": "string"
},
"similarity_available": {
"type": "boolean"
},
"meta": {
"type": "object",
"required": [
"command",
"command_maturity",
"duration_ms",
"schema_version"
],
"properties": {
"command": {
"type": "string"
},
"command_maturity": {
"type": "object",
"required": [
"stage",
"label",
"sequence",
"public_executable",
"stability",
"summary",
"promotion_review_required",
"assessment_scope"
],
"properties": {
"stage": {
"type": "string"
},
"label": {
"type": "string"
},
"sequence": {
"type": "integer"
},
"public_executable": {
"type": "boolean"
},
"stability": {
"type": "string"
},
"summary": {
"type": "string"
},
"promotion_review_required": {
"type": "boolean"
},
"assessment_scope": {
"type": "string"
},
"note": {
"type": "string"
},
"review": {
"type": "object",
"required": [
"reviewed_on",
"rationale",
"evidence"
],
"properties": {
"reviewed_on": {
"type": "string",
"format": "date"
},
"rationale": {
"type": "string"
},
"evidence": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"replacement": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": true
},
"duration_ms": {
"type": "number"
},
"schema_version": {
"type": "integer"
}
},
"additionalProperties": true
}
},
"additionalProperties": true,
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"message",
"meta",
"success"
]
}错误与限制
公开契约要求失败时返回 success=false 和具有描述性的 message。此目录尚未为每个命令声明专门的错误分类;请检查结果,不要推断不存在的错误码。
QZX 仍处于 alpha 阶段。可选依赖、权限和主机能力可能影响结果。
证据流程:已捕获并通过摘要验证。
证据与来源
- 文档渠道
- 开发文档 0.2.2.0.9 · main · sha256:cfba936e39931c286ca23add0ae546693db17d8b316e7cbc3891d26642d9b7e8
- 可用性
- 0.2.2.0.9 或更早
继续探索
相关命令
这些命令同样属于 开发 类别。对比它们,选择最适合解决任务的操作。