以下是 CA DMM 脚本中使用的一般命令:
将控制流跳转到即时循环的末尾,并按照循环执行第一条指令。 这与 return 不同,return 将跳出所有的循环和函数区域。 break 只有在循环中才有意义。
function Foo()
{
while (true)
{
while (z < 5)
{
...
if (x == false)
{
break; // jumps to line following while (true) {}
}
if (y == true)
{
return 5; // returns from Foo() immediately
}
}
if (x == false)
{
break; // jumps to line following while (true) {}
}
}
...
return -1; // returns from Foo() immediately
将二进制字符串转换为 ASCII 字符串。 它具有一个必需的参数,即包含要转换的二进制数据的字符串。 第二个参数可选,为布尔值。 如果该布尔值为真,则转换为 UNICODE 字符串。 如果该布尔值为假,则转换为 ASCII 字符串。
二进制字符串
布尔值
ConvertBinaryToString(<value>,[Boolean]);
var result = ConvertBinaryToString("000FFFDCB709E")
将 ASCII 字符串转换为二进制字符串。 它具有一个必需的参数,即要转换的 ASCII 字符串。 第二个参数可选。 如果该参数为真,则转换为 UNICODE 二进制字符串。
ASCII 字符串
布尔值
ConvertStringToBinary(<值>,[Boolean]);
var result = ConvertStringToBinary("将此字符串转换为二进制")
指定与脚本相关联的应用程序。 一个脚本只能关联一个应用程序。 在源计算机上,它将从 Detection 函数调用。 在目标计算机上,它可从任何地方调用,用于解析应用程序路径。 解释程序包括 APPLICATIONPATH 关键字,暂时无效,在发布此呼叫之前,不应使用。 脚本应在 Detection 函数中调用 Detect,以避免不必要的处理:
Detect 的参数是可执行文件名称和可选注册表项值。 两个参数均为字符串值。 注册表值路径参数为至注册表值的完整路径,将路径保留为可执行文件。 如果注册表值为默认参数,则路径应由注册表项名称和斜线(见以下示例)结尾。 Detection 函数中,脚本必须检查 Detect 的返回值,确定是否继续处理脚本或终止脚本。
可执行文件名(字符串值)
注册表路径(字符串值)
Detect ( <可执行文件名>, [注册表路径] );
if( Detect( "MyApp.exe", "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\MyApp.exe\\" ) == false)
{
return;
}
if (Detect ( <executable Name>) == false)
return;
执行可执行文件或 dll。 如果该执行找不到文件或 dll 来进行调用,函数将返回“假”。
第一个参数是要执行的内容的路径。 如果是 dll 的路径,则 API 函数要紧跟在两个冒号后面。 dll 调用的格式为 PATH::APIFunctionName。 dll 的 Execute 仅在两种函数类型中查找调用:
int FunctionName();
int FunctionName( const char * );
如果调用使用命令行参数,则输入这些参数或输入空字符串。
指示脚本是否等待可执行文件完成的布尔值。 第三个参数会被 dll 调用忽略。
/*使用文件 myfile.txt 执行 notepad,并等待过程完成。*/ Execute( "c:\\windows\\notepad.exe", "myfile.txt", true ); /*不使用参数执行 notepad 并等待。*/ Execute( "c:\\windows\\notepad.exe" ); /*使用参数调用 dll*/ Execute( "c\\windows\\Somelib.dll::CheckNetwork", "000d1");
退出脚本。 如果此关键字后面跟值,则将把该值写入调试日志或错误日志。 括号可选。
Exit ("Exiting because MS Word does not exist on machine.");
展开给定字符串的所有环境变量,然后返回结果。
包含环境变量的字符串。
ExpandString(<字符串>);
var result = ExpandString("%WinDir%")
基于 CommandID 返回与引擎相关的数据。 如果通过了错误的 CommandID,将在迁移期间返回错误。 您可以将该命令用于两方面:迁移的存储和应用。
注意:请勿在该产品的早期版本中使用该命令。 如果您试图在 CA DMM 的旧版本中使用该命令,则该命令将出现语法错误。
CommandID(例如 GET_CUR_SEL)用于获取迁移的当前选定节点名称(应用程序或系统设置)。
GetEngineData(<CommandID>);
var strNewPath = GetEngineData(GET_CUR_SEL)
返回映射到新机器的新文件路径。 此命令还具有获取分隔符不同于普通的 \\ 字符的路径的功能。
旧文件路径(字符串值)
路径分隔符(字符串值)
GetMappedPath( <旧文件路径>, [<路径分隔符>] );
newPath = GetMappedPath("c:\\old path\\file.txt");
/* newPath 等于新文件路径。*/
oldPath = "c:_old path_file.txt";
newPath = GetMappedPath( oldPath, "_" );
/* newPath 等于带分隔符的新文件路径*/
/* 例如,newPath 可能等于 e:_new path_file.txt*/
返回计算机的平台。 返回值为:WIN2000、WINXP、WINVI 或 WIN7(请参阅定义列表)。 它采用一个参数,以表示是获取源计算机还是目标计算机的平台。 此参数可选,为布尔值。 默认值为 False,代表目标计算机;True 代表当前计算机。
注意:布尔参数只能在 General 和 Apply 函数中使用。 如果在其它函数中使用,将导致语法错误或运行时间错误。
机器(布尔值)
GetPlatform( [Boolean] );
if (GetPlatform(DESTINATION) == WINXP)
ApplyWinXPWord();
查询操作系统,以便决定它是 Windows 2000 、 Windows XP 、 Windows Vista 还是 Windows 7。 参数为可选项。 如果为“True”,CA DMM 则获得源计算机的操作系统,否则获得目标计算机的操作系统。 默认值为假。
注意:在“常规”和“应用”正常工作时,只能将该参数设置为“True”。 如果用于存储功能中,则会造成语法错误或运行时错误。
机器(布尔值)
Value = IsLikeNT([Boolean]);
IsLikeNT(SOURCE);
在脚本期限内将一个路径映射至另一路径。 此路径映射应用于当前脚本中跟在 MapPath 关键字后面的所有 Apply 操作。 在 ApplyDirectory、ApplyFile 和 ApplyMappedValue 操作中,此关键字具有将与<旧路径> 匹配的所有路径替换为<新路径>的作用。
旧路径(字符串值)
新路径(字符串值)
MapPath(<旧路径>, <新路径>);
MapPath("c:\\winword\\data", "c:\\winword\\Application Data");
向用户显示消息。 此命令有一个参数,为字符串值。 括号可选。
消息文本(字符串值)
Message ( <字符串> );
Message ("help!");
创建选项以在设置页面显示。 它还关联该选项的 Store 和 Apply 函数。 如果用户选择某个选项,解释程序将调用此该选项相关联的函数。 显示的语句可通过使用斜框指定层次结构。 例如,在选项的树形视图中,选项 Microsoft Word\\Toolbar 将在一行显示 Microsoft Word,而在下一行缩进显示 Toolbar。
选项路径(字符串值)
Store 函数名(字符串值)
Apply 函数名(字符串值)
请参阅示例:创建本地化设置树。
Option( <选项路径>, [Store 函数名], [Apply 函数名] [LanguageIndependentPath]);
Option ( "Microsoft Word\\Toolbar");
Option( "MicrosoftWord\\Toolbar\\Tooltips", "StoreTooltips", "ApplyTooltips", "msword\\toolbar\\tooltips");
如果用户选择了该项,解释程序将调用 Store 和 Apply 函数。 如果用户选择了选项,还将调用选项的父函数。
将消息打印到活动日志和调试日志。 括号可选。 此命令有一个参数,为字符串值。 有关可选的第二个参数的信息,请参阅打印级别。 如果未指定“打印级别”,参数默认为 GENERAL。
字符串(字符串值)
print (<字符串>);
Print ("警告:win.ini 文件将被覆盖");
将字符串输出到“例外日志”。 “例外日志”用来查看 CA DMM 无法移动或发布迁移说明的项。 例如,Netscape Communicator 脚本将描述升级过程的详细说明输出到“例外日志”。 MS Word 脚本输出不能升级的设置。 PrintException 命令只能在 ApplyFunction 中使用。 有关第二个参数(可选)的信息,请参阅“打印级别”。 如果未指定“打印级别”,参数默认为 GENERAL。
字符串(字符串值)
PrintException (<字符串>);
PrintException ("Please remove the file c:\\windows\\netscapecommunication.ttt");
从源计算机或目标计算机上检索注册表项值。 它可以使用三个参数:项路径,值名称和一个布尔参数。 前两个为必需参数,且为字符串值。 第三个参数可选。 如果第三个参数为“True”,CA DMM 将在源计算机上查找;否则,将在目标计算机上查找。 默认值为假。 如果无法检索到该值,命令将返回假。
注意:第三个布尔参数只能在 General 和 Apply 函数中使用。 如果在其它函数中使用,将导致语法错误或运行时间错误。
注册表项路径(字符串值)
值名称(字符串值)
机器(布尔值)
Value = RetrieveValue(<注册表项路径>, <值名称 >, [Boolean]);
RetrieveValue( "HKCU\\Software\\Microsoft\\Office\\8.0\\Common\\Toolbar", "Tooltips", SOURCE);
RetrieveValue( "HKCU\\Software\\Microsoft\\Office\\8.0\\Common\", "Tooltips", DESTINATION);
指示 CA DMM 在迁移结束后显示“需要重新启动”对话框。 为需要重新启动的脚本使用此函数,以成功完成迁移。 唯一需要的参数是一个指明脚本是否需要重新启动的布尔值。
(布尔值)
RestartRequired(<Boolean>);
RestartRequired(true);
|
版权所有 © 2014 CA Technologies。
保留所有权利。
|
|