本文目录导读:

你是否曾经想过,在没有网络或Steam客户端的情况下,快速列出自己电脑上所有已安装的Steam游戏?或者需要将游戏列表导出用来备份、分享,甚至整理磁盘空间?今天要介绍的“ACF文件”就是隐藏在你Steam目录里的“小档案”——它保存了每个游戏的ID、名称、安装路径等核心信息,学会读取它,你就能轻松掌握自己的游戏库。
什么是ACF文件?
ACF是“App Cache File”的缩写,是Steam客户端用来记录每个游戏安装状态和元数据的文本文件,它们位于你的Steam安装目录下的 steamapps 文件夹中,文件名通常是 appmanifest_游戏AppID.acf,反恐精英2》的AppID是730,对应的文件就是 appmanifest_730.acf。
每个ACF文件虽然看起来像一堆乱码,但实际是Key-Value结构的纯文本,可以用记事本、Notepad++等任何文本编辑器打开,里面清晰地记录了游戏的名称、“installdir”(安装目录)、“LastUpdated”(最后更新时间)、“SizeOnDisk”(磁盘占用大小)等关键信息。
为什么需要通过ACF获取游戏?
你可能说:“Steam客户端里不是可以直接看游戏库吗?”没错,但ACF文件的好处在于:
- 离线可用:即使Steam服务器挂了或客户端崩溃,本地文件依然在。
- 批量导出:用脚本一键生成游戏名列表,方便整理“吃灰游戏”。
- 深度管理:可以精确知道每个游戏的安装路径、大小,甚至检查是否缺少某些文件。
- 自动化工具:很多第三方游戏管理工具(如Steam Library Manager、GameSave Manager)底层就是解析ACF来获取游戏信息。
实操:如何手动获取?
不需要任何编程基础,只需两步:
- 打开Steam安装目录(默认路径:
C:\Program Files (x86)\Steam\steamapps)。 - 用记事本打开任意一个
.acf文件,搜索“name”字段,例如你会看到:"AppState" { "appid" "730" "Universe" "1" "name" "Counter-Strike 2" "StateFlags" "4" "installdir" "Counter-Strike Global Offensive" ... }"name"后面的就是游戏名称,想获取所有游戏?在文件夹中按Ctrl+F搜索"name",然后逐一记录即可——当然这样比较慢。
进阶:用脚本自动提取(Windows / macOS / Linux)
如果你会一点点Python或PowerShell,可以用几行代码秒抓全部游戏列表,下面提供一个最简Python脚本(需要安装Python,但无需额外库):
import os
steam_path = "C:\\Program Files (x86)\\Steam\\steamapps" # 根据你的实际路径修改
games = []
for filename in os.listdir(steam_path):
if filename.endswith(".acf"):
with open(os.path.join(steam_path, filename), 'r', encoding='utf-8') as f:
content = f.read()
# 用简单字符串查找提取name
if '"name"' in content:
start = content.index('"name"') + len('"name"') + 2
end = content.index('"', start)
game_name = content[start:end]
games.append(game_name)
print("已安装的Steam游戏:")
for g in sorted(games):
print(g)
运行后,你就能看到一份纯文本的游戏清单,如果想导出为CSV或HTML,稍加修改即可。
注意事项
- 不要修改ACF文件:Steam客户端会定期校验这些文件,修改可能导致游戏“需要重新下载”或“无法启动”,建议只读取,不写入。
- 路径差异:如果Steam安装在D盘或其他位置,记得修改脚本中的路径。
- 部分游戏可能不显示:某些通过非标准方式安装的游戏(如第三方订阅内容)可能没有ACF文件,但99%的Steam游戏都有。
ACF文件是Steam留给用户的“小后门”,通过它你可以脱离客户端直接管理游戏库,无论是手动查看,还是用脚本批量导出,都能让你更深入地了解自己电脑上到底“躺着”哪些游戏,下次想整理磁盘空间或制作“游戏档案”时,试试这个技巧吧!
