放置文件语法

https://msdn.microsoft.com/zh-cn/library/windows/hardware/ff550380(v=vs.85).aspx

 

注意   放置文件现在已过时,因此不应该使用。。

放置文件是一个文本文件,BinPlace 读取该文件来确定与放置的文件关联的子目录。

该文件的路径和名称由 -p PlaceFile 命令行参数指定。如果未使用此参数,则默认值为 \tools\placefil.txt。放置文件可以包含任何数量的行。每行列出一个文件和一个类子目录。列出文件不会导致 BinPlace 采取任何操作。但是,只要在命令行上为 BinPlace 提供了文件名,那么它将打开该放置文件以查看该文件是否列出。如果是这样,BinPlace 将对该特定文件使用在放置文件中指定的类子目录。

放置文件的每一行格式都相同。

    
     FileName Class[:Class[...]   [ ; Comment ] 

   

放置文件中的每一行都遵循以下规则:

 

  • 每一行都必须以 FileName 字段开头。
  • FileName 和 Class 字段必须用一个或多个空格分隔。
  • 如果行上的任何位置出现分号,那么分号右侧的所有内容都将被视为注释。
  • 以分号开头的空白行和注释行都是允许的。

对 FileName 和 Class 字段的解释如下:

参数

 

FileName

指定 BinPlace 可以对其起作用的文件名的字段。FileName 必须包含文件扩展名,但不得包含文件路径。(文件路径将在 BinPlace 命令行上指定。)

Class

指定用于该文件的类子目录的字段。除非使用 -y 或 -:DEST 命令行开关,否则 BinPlace 会在通过获取根目标目录,加上类子目录,然后加上文件类型子目录而创建的目录中放置一个文件。有关详细信息,请参阅 BinPlace 目标目录

Class 不应该以反斜杠开头或结尾。目录名称不得包含空格。有些特殊字符串可以在 Class 值中使用。放置可执行文件和符号文件时,该字符串的效果不同。下表显示了这些字符串的结果。

对于所有版本:

字符串对可执行文件的效果对符号文件的效果

retail

被忽略。该目录级别将被跳过。

视为名为 retail 的文本目录。

*

 

在 x86 计算机上:i386

在基于 Itanium 的计算机上:IA64

在基于 x64 的计算机上:AMD64

被忽略。该目录级别将被跳过。

system

成为 system32

 

system16

成为 system

 

windows

成为“.”被忽略。该目录级别将被跳过。

符号路径为 retail

drivers

成为 system32\\drivers

 

drvetc

成为 system32\\drivers\\etc

 

config

成为 system32\\config

 

 

对于 x86 版本:

字符串对可执行文件的效果对符号文件的效果

hal

成为 system32

 

printer

成为 system32\\spool\\drivers\\w32x86

 

prtprocs

成为 system32\\spool\\prtprocs\\w32x86

 

 

对于 AMD64 版本:

字符串对可执行文件的效果对符号文件的效果

hal

成为“..”。例如,如果根目标目录为 C:\Binaries\Amd64,则会将该文件放置在 C:\Binaries 中。

去除符号路径中的一个目录。

printer

成为 system32\\spool\\drivers\\w32amd64

 

prtprocs

成为 system32\\spool\\prtprocs\\w32amd64

 

 

对于 IA64 版本:

字符串对可执行文件的效果对符号文件的效果

hal

成为“..”。

去除符号路径中的一个目录。

printer

成为 system32\\spool\\drivers\\w32ia64

 

prtprocs

成为 system32\\spool\\prtprocs\\w32ia64

 

 

除非特别声明,否则符号路径将被截断,以便只包含该路径中的第一个目录。例如,如果使用 BinPlace 移动名为 Build.exe 的 x86 文件(它的目标类为 printer),那么你可能会使用以下命令语法:

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 中,而不是放置在你可能希望使用的处理器特定目录中。

如果希望将某个文件放置在多个位置,则可以包含 Class 的多个实例,用冒号分隔。目录和冒号之间不得有空格。例如:

someprogram.exe   dir1\dir2\dir3:otherdir1\otherdir2   ; To two locations

Comment

BinPlace 将忽略分号后面的任何文本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值