# fileScript **Repository Path**: minph/file-script ## Basic Information - **Project Name**: fileScript - **Description**: fileScript 编译器,采用 golang 编写 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FileScript 采用 golang 编写的文件处理脚本执行器 建议脚本保存后缀名为 `.fs` # 使用方式 编译源码得到 fileScript.exe,重命名为 fst.exe 并加入环境变量即可。 # Cli 交互 ## format 命令 格式 `fst format -t [4] -o [output.fs] file.fs` 其中 `-t [4]` 用于设置格式化后缩进大小,默认为 4 个空格。 而 `-o [output.fs]` 设置输出文件路径,否则覆盖原文件。 ## run 命令 格式 `fst run file.fs` 即用于执行脚本文件。 # 代码格式 ## 样例 ```java @Main { // 删除所有 txt 文件 @Dir(".") { @Equal($.Ext, "txt") @If($.True) { @Delete($) } } } ``` ```java @Main { // 重命名所有 png 文件 @Dir("./images") { @Equal($.Ext, ".png") @If($.True) { @Add("png-", $.Index) @Add($.Result, ".png") // 重命名为 "png-i.png" @Rename($.Path, $.Result) } } } ``` ## 行首 必须为`@Main`, `@FST`, `@FileScript`之一 ## @Print 打印内容 ## @Println 打印内容,且换行 ## @Debug 打印环境变量 ## @Bind 绑定变量 ## @File 操作文件 ## @For 建立循环 ## @Ingore 忽略包裹的代码 ## @If 判断执行代码 ## @Dir 循环目录下文件 ## @Compare 比较数字、字符串长度大小 ## @Contain 判断字符串是否包含 ## @Equal 判断数字、字符串是否相等 ## @Add 数字相加或字符串拼接 ## @Sub 数字相减或字符串 replace ## @Rows 循环读取文件每一行 ## @Write 追加写入文件内容 ## @Clear 清空文件内容 ## @BindScope 绑定变量到子环境变量 ## @BindRoot 绑定变量到根环境变量 ## @DebugMain 打印所有上下文中的环境变量,必须用于最后 # 环境上下文 ## @Dir | 环境变量 | 内容 | | :-------: | :-----------------: | | $.Index | 循环次数 | | $.Path | 文件路径 | | $.Dir | 所在目录名 | | $.Ext | 文件后缀名(包含".") | | $.Name | 文件名 | | $.AbsPath | 文件绝对路径 | ## @For | 环境变量 | 内容 | | :------: | :------: | | $.Index | 循环次数 | ## @File | 环境变量 | 内容 | | :-------: | :-----------------: | | $.Path | 文件路径 | | $.Dir | 所在目录名 | | $.Ext | 文件后缀名(包含".") | | $.Name | 文件名 | | $.AbsPath | 文件绝对路径 | | $.Content | 文件内容 | | $.Lines | 文件行数 | ## @Add @Sub | 环境变量 | 内容 | | :------: | :------: | | $.Result | 计算结果 | ## @Compare @Contain @Equal | 环境变量 | 内容 | | :------: | :------: | | $.True | 预期正确 | | $.False | 预期错误 |