Skip to content

PowerWordTree/ScriptDependencies

Repository files navigation

获取脚本依赖

一个管理脚本依赖的工具.

在 CMD 脚本中添加指定格式注释后, 用本工具读取这些注释, 会将文件复制到指定位置, 以提供 CMD 脚本调用.

注意: 在 Bin 目录需要 MSVC BuildTools 的一些文件, 详情查看Bin/Readme.md.

注释格式

::类型:文件名::

以 2 个:开头和结尾, 以 1 个:分隔类型文件名.

  • ::Bin:可执行文件名::

    可执行文件依赖, 将可执行文件和相关库文件复制到指定位置.

  • ::Script:脚本文件名::

    脚本文件依赖, 将递归查询脚本文件并复制相关依赖到指定位置.

  • ::File:其它文件名::

    其它文件依赖, 将文件复制到指定位置.

  • ::Folder:目录名::

    目录依赖, 将目录复制到指定位置.

配置文件

配置文件为非标准 INI 格式, 使用 ANSI 编码.

执行时读取同名但扩展名为.ini的配置文件, 通常为ScriptDependencies.ini.

格式

  • 注释行(comment)

    #或者;开头的行.

  • 无效行(invalid)

    不含=或者键值为空.

  • 段(section)

    []包裹的行.

  • 键(key)

    行第一个=左边的字符串.

  • 值(value)

    行第一个=右边的字符串.

内容

  • 清理设置(CLEAN)

    段外键值, 键CLEAN, 可选值TRUE或者FALSE, 默认值FALSE. 执行前清空目标目录, TRUE清空, FALSE忽略.

  • 来源路径(SRC)

    指定来源路径, 可以指定多个用;分隔.

  • 目标路径(DST)

    指定目标路径, 目录不存在时自动创建.

  • 段(BIN,SCRIPT,FILE,FOLDER)

    段名为BINSCRIPTFILEFOLDER, 对应注释类型名.

  • 变量和转义

    配置文件中%包裹的变量, 在执行时会被展开. 需要保留%时, 用%%方式进行转义.

示例

CLEAN=TRUE

[BIN]
SRC=%CYGWIN_HOME%\Bin;%MSYS_HOME%\usr\bin
DST=Target\Bin

[SCRIPT]
SRC=%CD%\..\Script
DST=Target\Script

[FILE]
SRC=%CD%\..\
DST=Target\File

[FOLDER]
SRC=%CD%\..\
DST=Target\Folder

命令行:

命令行: ScriptDependencies.cmd <脚本文件>...

  • 脚本文件

    可以指定一个或多个脚本文件,支持*?通配符.

示例

ScriptDependencies.cmd 1.cmd 2.cmd
ScriptDependencies.cmd ..\xxx\*.cmd

辅助工具

一些额外提供的辅助工具.

脚本依赖合并(ScriptMerge.cmd)

提供脚本和依赖进行合并的功能.

依赖文件合并到脚本文件末尾, 并附带依赖文件名(空格会被替换为_)的标签.

脚本文件的CALL 依赖文件名替换为CALL :依赖文件名.

命令行: ScriptMerge.cmd <脚本文件> [依赖文件1] [依赖文件2] ...

输出合并后文件到脚本文件目录\[Merged]脚本文件名.

  • 脚本文件

    指定需要合并的脚本文件.

  • 依赖文件

    指定依赖的文件, 支持 Powershell 通配符.

示例:

ScriptMerge.cmd xxx.cmd target\script\*.cmd script\*.cmd *.cmd