# dxf-ok **Repository Path**: leimiemie/dxf-ok ## Basic Information - **Project Name**: dxf-ok - **Description**: 监控剪贴板,查找对应文件,并重命名文件。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-05-22 - **Last Updated**: 2025-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 术语 - `appdata` windows上专门存放软件数据的特殊文件夹,在地址栏输入`%appdata%`可达 - `dxfok文件夹` `%appdata%\dxfok` - `索引文件` `%appdata%\DxfMerge\文件夹索引.txt` - `添加行` 由复制粘贴或者导入操作添加文件夹或者文件的操作 - `禁止文件夹` 一个或多个文件夹,防止某些文件夹被修改 - `文件夹模糊匹配` 两个文件夹全路径,如果分别去掉ok后属于同一个文件夹,则视为模糊匹配 - `标记文件` 在文件夹内部创建的临时文件,用于标记文件夹是待升或待降,文件名分别是.`add_ok`和`.del_ok` ## 配置 ### 配置文件 `dxfok文件夹\DxfOK.ini` ### 配置项 假设所有文件为 ``` a\1.dxf a\b\2.dxf a\b\c\3.dxf a\d\4.dxf a\e\5.dxf ``` - 模糊列表 1. 添加行的时候,软件会根据配置的路径模糊匹配真实路径 2. 不在模糊范围内,禁止添加行 3. 允许修改范围内的文件夹和文件 4. 举例,配置为`a\b, a\d`,则范围为文件2、3、4所在文件夹,1、5排除。 - 禁止单层列表 1. 如果末尾是星号,程序自动展开为下属一层文件夹为列表 2. 禁止修改单层,不包括上层 - 禁止多层列表 1. 禁止当前层或更下层,举例配置为`a\b`, 则2、3所在文件夹都禁止修改。 - 自动禁止空文件夹以及更上层文件夹。举例 ``` a\1.dxf a\b\ 空 a\c\3.dxf ``` ``` a\b\1.dxf a\c\2.dxf ``` 由于`a\b`为空,导致`a`和`a\b`两个文件夹都被单层禁止。`a\c`仍然在模糊范围 冲突和优先规则 1. 禁止的优先级比模糊的优先级高,举例单层列表配置为`a\b\*`, `a\e`,虽然模糊范围`a\b`包括`a\b\c`,但`a\b\*`更优先,禁止`a\b\c`被修改。 2. 禁止单层和禁止多层的配置会合并为总的禁止列表,也就是展开所有单层列表+递归展开所有禁止多层列表 ## 输出 ### 输出文件 - 日志 `dxfok文件夹\Logs\{日期}.log` - 模糊文件夹 `dxfok文件夹\模糊文件夹.txt` - 禁止文件夹 `dxfok文件夹\禁止文件夹.txt` - 待升列表 `dxfok文件夹\待升文件夹.txt` - 待降列表 `dxfok文件夹\待降文件夹.txt` ## 运行逻辑 1. 启动软件,加载`配置文件`,`索引文件`,递归扫描`模糊匹配文件夹`,生成`模糊文件夹`和`禁止文件夹`两个文件供检验。 2. 粘贴`【123】、`,提取`数字`,通过`索引文件`倒序匹配,再通过`模糊文件夹`对比,确定`真实文件夹` 3. 粘贴`【123】1.dxf`,先确定`真实文件夹`,然后确定`真实文件名`形如 `a\b\1.dxf` 4. `添加行`后实时显示`状态`,选中行可显示`真实文件夹` 5. 点击`加`,对列表种所有文件进行加ok的操作 6. 点击`减`,对列表种所有文件进行去ok的操作 7. 点击`加`或`减`,文件操作完成后,自动根据`模糊匹配文件夹`范围递归搜索所有文件夹,根据文件夹下属所有文件状态、文件夹自身是否带ok,来确定是否添加或移除`标记文件` 8. 软件退出时,根据`标记文件`来重命名文件夹,重命名失败的,保留`标记文件`,否则移除`标记文件`。