BinPlace 命令行语法

BinPlace 在命令行使用以下语法:

    binplace [Options] File [ [Options] [@PlaceFile] File [...] ]

参数

选项
这可以包括以下任一开关。 开关前面应有连字符(-)或斜杠(/)。 可以在一个连字符或斜杠之后组合多个选项,但采用其他参数的选项应后跟空格。 因此,以下两个命令等效:

binplace -q -k -g LCFile -v -s SymbolRoot File 
binplace -qkg LCFile -vs SymbolRoot File 

以下开关可用:

-a
导致 BinPlace 在放置专用符号文件时将私有符号带出符号文件。 这会创建包含公共符号但不包含专用符号的带区符号文件。 使用 -a 开关时,还必须使用 -s-x 。 使用 -a,带状符号文件将放置在 -sSymbolRoot 指定的路径中。 如果 -nFullSymbolRoot 也存在,则完整符号文件将放置在 FullSymbolRoot。 否则,它们不会放置在任何位置。

-b ExtraSubdirectory
使 BinPlace 将文件放置在与平常不同的位置。 连接根目标目录、类子目录和文件类型子目录后,BinPlace 随后会将 ExtraSubdirectory 追加到此路径,以创建最终目标目录。 ExtraSubdirectory 既不能以反斜杠开头,也不能以反斜杠结尾。 有关更多详细信息,请参阅 BinPlace 目标目录

-e
如果无法放置文件,则会导致 BinPlace 继续执行。 默认情况下,当发生此错误时,BinPlace 将退出。

-f
强制 BinPlace 放置文件,即使该文件覆盖了较新的文件。 默认情况下,当 BinPlace 尝试放置文件时,它将覆盖旧版本,但不会覆盖较新版本。

-g LCFile
导致 BinPlace 验证可执行文件。 LCFile 指定要用于此验证的本地化约束文件。

-h
导致 BinPlace 创建硬链接,而不是在放置文件时复制文件。 此选项仅在 NTFS 文件系统上可用。

-j
导致 BinPlace 在复制任何可执行文件之前验证是否存在正确的符号。 若要使用此选项,SymChk 工具必须位于路径中。 (SymChk 是适用于 Windows 包的调试工具的一部分。有关详细信息,请参阅 Windows 调试

-k
导致 BinPlace 保留文件属性。 默认情况下,BinPlace 将关闭存档属性。

-n FullSymbolRoot
指定完整符号文件的根目录(包含公共符号和专用符号的符号文件)。 这还需要 -a-x-s 开关。 有关更多详细信息,请参阅 BinPlace 目标目录

-o RootSubdirectory
指定要使用的根目标目录的子目录。 创建目标目录时, 将在根目标目录和类子目录之前插入 RootSubdirectory 。 有关更多详细信息,请参阅 BinPlace 目标目录

-p PlaceFile
指定位置文件的路径和文件名。 如果未使用 -p 开关,BinPlace 将使用名为 \tools\placefil.txt 的位置。 有关位置文件内容的说明,请参阅 “放置文件语法 ”。

请注意-p 开关和放置文件现已过时,不应使用。

-q
阻止 BinPlace 使用日志文件。 如果省略 -q 开关,则由BINPLACE_LOG环境变量指定的文件用作日志文件。

-r RootDestinationPath
指定根目标目录。 如果省略此项,则默认值由基于 x86、基于 Itanium 或基于 x64 的计算机上的_NT386TREE、_NTIA64TREE或_NTAMD64TREE环境变量决定。 有关详细信息,请参阅 BinPlace 目标目录

-s SymbolRoot
指定符号文件的根目录。 如果使用了 -a-x 开关,则私有符号将从符号文件中剥离出来,并且带区符号文件将放置在 SymbolRoot 指定的目录中。 如果要同时放置带状符号文件和完整符号文件,则应使用 -a -x -s SymbolRoot -n FullSymbolRoot。 有关更多详细信息,请参阅 BinPlace 目标目录

-t
测试模式。 使用此开关时,不会复制任何文件,但 BinPlace 将显示警告和错误消息,就像放置文件一样。 你可能还想要使用 -v 开关来增加消息数。

-u
导致 BinPlace 追加 \up 到类子目录。 这对于分离单处理器(UP)驱动程序非常有用。 此外,每当使用此开关时,BinPlace 将不会拆分包含符号的可执行文件。 有关更多详细信息,请参阅 BinPlace 目标目录

-v
详细模式。 导致 BinPlace 显示更详细的错误、警告和进度消息。

-w
导致 BinPlace 将 Windows 95 符号文件 (.sym) 添加到符号树。

-x
如果 BinPlace 遇到使用 旧符号系统的文件,此开关将导致它从可执行文件中删除所有符号,并将此信息移动到单独的符号文件。 有关详细信息,请参阅 符号文件系统 。 使用 -x 开关时,还必须使用 -s-a

-y
防止 BinPlace 使用任何类子目录。 目标目录将仅从根目标目录和文件类型子目录创建。 有关详细信息,请参阅 BinPlace 目标目录

-z
取消 -x 开关。 如果在多个目标上使用 BinPlace ,则可以使用表单 binplace 参数sTarget1argumentsTarget2 的命令,并且由于命令行从左到右分析, Target1Target2 将受到不同参数的影响。 (请参阅下面的“分析顺序”部分)。 如果遇到 -z 开关,这将取消任何以前的 -x 开关的效果。

-ci ReturnCode,Application,Argument,Argument,...
使 BinPlace 使用自定义应用程序来验证所有可执行文件。 如果希望 BinPlace 使用其他应用程序执行验证,可以使用 -ci 开关。

ReturnCode 应该是此应用程序在可执行文件中发现错误时将返回的值。 其他参数用于启动此应用程序。 这些都必须用逗号分隔。 应用程序 指定程序的名称。 这后跟任意数量的命令行参数。 程序将以命令行开头, 其中包含应用程序 后跟所有参数(用空格而不是逗号分隔),最后以要检查的可执行文件的名称结尾。

-:弧
使 BinPlace 仅放置其存档属性集的文件。

-:D BG
防止 BinPlace 放置 .dbg 文件。 如果使用 -j 开关,这将阻止 BinPlace 放置指向 .dbg 文件的二进制文件。 若要使用此选项,SymChk 工具必须位于路径中。 (SymChk 是适用于 Windows 包的调试工具的一部分。有关详细信息,请参阅 Windows 调试

-:D EST ClassPath
使 BinPlace 忽略放置文件,并使用指定的 ClassPath 作为类子目录。 有关详细信息,请参阅 BinPlace 目标目录

-:LOGPDB
导致 BinPlace 在日志文件中包含完整的 .pdb 路径。

-:任 NewName
导致 BinPlace 重命名要放置的文件。 原始文件名(包括扩展名)将替换为 NewName。 (如果原始文件是正在拆分的可执行文件,则会为新符号文件提供原始文件名加上扩展名 .dbg。)

-:TMF
通过从 PDB 符号文件提取跟踪消息格式说明,使 BinPlace 创建 跟踪消息格式 (.tmf) 文件 。 TMF 文件将放置在 BinPlace TRACE_FORMAT_PATH环境变量指定的目录中。 请参阅 BinPlace 宏和环境变量

-ChangeAsmsToRetailForSymbols
如果字符串“retail”出现在符号文件的目标目录中,则会导致 BinPlace 将字符串“asms”替换为字符串“retail”。 有关更多详细信息,请参阅 BinPlace 目标目录

文件
指定 BinPlace 将对其执行操作的文件的完整路径和文件名。 可以列出任意数量的文件,用空格分隔。 如果路径和文件名包含空格,则必须将路径和文件名括在引号中。

@PlaceFile
如果任何文件名前面有一个 at 符号( @ ),则文件名表示位置文件的名称。 有关详细信息,请参阅以下“文件”部分中的“提供参数”。

分析顺序

BinPlace 从左到右分析命令行。 可以指定多个选项、文件参数、新选项、另一个 File 参数等。 每次 BinPlace 遇到新选项时,都会采用它,替代以前看到的任何相互矛盾的选项。 每当遇到 文件 说明符时,它将使用已在命令行上遇到的累积选项对该文件进行操作。

在文件中提供参数

可以从文本文件将参数传递给 BinPlace。 有两种方法可以实现此目的:

  • 可以在BINPLACE_OVERRIDE_FLAGS环境变量中指定文件名。 每当运行 BinPlace 时,将读取此文件及其内容作为参数。 此文件中的参数将在实际显示在 BinPlace 命令行上的参数之前进行分析。

  • 可以在 BinPlace 命令行上指定文件名,方法是使用 at sign ( @ ) 作为前缀。 当 BinPlace 在其命令行上看到以此登录开头的字符串时,它将获取该字符串,删除 at sign,然后查找具有此名称的文件。 如果找到此文件,它将将其文本插入命令行,其文本正好位于原始参数以 at 符号开头的位置。 由于 BinPlace 从左到右分析参数,因此可以将此方法与多个文件实例一起使用,以便对多个文件使用 BinPlace,每个文件都有不同的选项,而无需每次键入所有选项。 (如果未找到此文件,BinPlace 会将原始字符串(包括 at 符号)视为 文件 参数。)