位置文件语法
注意 放置文件现已过时,不应使用。 .
放置文件是 BinPlace 读取的文本文件,用于确定与其放置的文件关联的类子目录。
此文件的路径和名称由 -p PlaceFile 命令行参数指定。 如果未使用它,则默认为 \tools\placefil.txt。 一个位置文件可以有任意数量的行。 每行都列出一个文件和一个类子目录。 列出文件不会导致 BinPlace 执行任何操作。 相反,每当在命令行上为 BinPlace 提供文件名时,它都会打开位置文件以查看该文件是否已列出。 如果是,BinPlace 将使用该特定文件的放置文件中指定的类子目录。
位置文件的每一行具有相同的格式。
FileName Class[:Class[...] [ ; Comment ]
就地文件中的每一行都遵循以下规则:
- FileName 字段必须以行开头。
- FileName 和 Class 字段必须用一个或多个空格分隔。
- 如果分号出现在行的任意位置,则其右侧的所有内容都被视为注释。
- 允许使用以分号开头的空行和注释行。
FileName 和 Class 字段的说明如下:
参数
FileName
一个字段,指定 BinPlace 可以处理的文件的名称。 FileName 必须包含文件扩展名,但不能包含文件路径。 将在 BinPlace 命令行上指定 (文件路径。)
类
一个字段,指定用于此文件的类子目录。 除非使用 -y 或 -:D EST 命令行开关,否则 BinPlace 会将文件放置在通过获取根目标目录、追加类子目录,然后追加文件类型子目录创建的目录中。 有关完整详细信息 ,请参阅 BinPlace 目标目录 。
类 不应以反斜杠开头或结尾。 目录名称不得包含空格。 可以在 类 值中使用特殊字符串。 字符串对可执行文件和符号文件的位置的影响不同。 下表显示了这些字符串的结果。
对于所有生成:
字符串 | 对可执行文件的影响 | 对符号文件的影响 |
---|---|---|
零售 |
已忽略。 将跳过此目录级别。 |
被视为名为 retail 的文本目录。 |
* |
在 x86 计算机上: i386。 在基于 Itanium 的计算机上: IA64。 在基于 x64 的计算机上: AMD64。 | 已忽略。 将跳过此目录级别。 |
系统 |
变为 system32。 |
|
system16 |
成为 系统。 |
|
windows |
变为“”。”忽视。 将跳过此目录级别。 |
符号路径为 零售。 |
司机 |
成为 system32\drivers。 |
|
drvetc |
成为 system32\drivers\etc。 |
|
config |
成为 system32\config。 |
对于 x86 内部版本:
字符串 | 对可执行文件的影响 | 对符号文件的影响 |
---|---|---|
哈尔 |
变为 system32。 |
|
打印机 |
成为 system32\spool\drivers\w32x86。 |
|
prtprocs |
成为 system32\spool\prtprocs\w32x86。 |
对于 AMD64 内部版本:
字符串 | 对可执行文件的影响 | 对符号文件的影响 |
---|---|---|
哈尔 |
变为 “..”例如,如果根目标目录为 C:\Binaries\Amd64,则文件将放置在 C:\Binaries 中。 |
删除了一个目录的符号路径。 |
打印机 |
成为 system32\spool\drivers\w32amd64。 |
|
prtprocs |
成为 system32\spool\prtprocs\w32amd64。 |
对于 IA64 内部版本:
字符串 | 对可执行文件的影响 | 对符号文件的影响 |
---|---|---|
哈尔 |
变为 “..” |
删除了一个目录的符号路径。 |
打印机 |
成为 system32\spool\drivers\w32ia64。 |
|
prtprocs |
成为 system32\spool\prtprocs\w32ia64。 |
除非另有说明,否则符号路径将被截断,以仅包含路径中的第一个目录。 例如,如果使用 BinPlace 移动名为 Build.exe 的 x86 文件,该文件的目标 类为打印机,则可以使用以下命令语法:
binplace -r BinaryRoot -xa -s SymbolsDir1 -n SymbolsDir2 SourceFileLocation\build.exe
该命令将生成以下输出树:
<SymbolsDir1>\system32\exe\build.pdb
<SymbolsDir2>\system32\exe\build.pdb
<BinaryRoot>\system32\spool\drivers\w32x86\build.exe
对于 AMD64 和 IA64 生成,请谨慎使用 hal 类,因为 BinPlace 结果可能不符合预期。 例如,如果根目标目录是 C:\Binaries\Amd64,并且你指定了 hal 类,则文件将放置在 C:\Binaries 中,而不是你预期的 processor-specifc 目录中。
如果希望将文件放置在多个位置,可以包含 类的多个实例(用冒号分隔)。 目录和冒号之间不得有空格。 例如:
someprogram.exe dir1\dir2\dir3:otherdir1\otherdir2 ; To two locations
评论
BinPlace 将忽略分号后的任何文本。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈