# 文件替代工具 **Repository Path**: waoteman/file-replacement-tool ## Basic Information - **Project Name**: 文件替代工具 - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-23 - **Last Updated**: 2025-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 基于C++和Cmake实现一个工具 ### 创建一个窗口大小900*650的窗口,标题名字叫Relace Tool ### 接着下面创建一个显示框和一个按钮,按钮名称叫资源目录,点开按钮后可以选择一个路径,并将路径显示再左侧的显示框内 ### 接着再在下面创建一个显示框和一个按钮,按钮名称叫目标目录,点开按钮后可以选择一个路径,并将路径显示在该行左侧的显示框内 ### 然后再下一行创建一个输入框和一个名字叫"识别"的按钮, #### 输入框中可以输入字符或者数字, #### 一旦点击"识别"的按钮,先判断左侧输入框是否为空,如果为空,弹出提示框,"no input",单机OK后退出弹窗且结束, #### 如果输入框非空,先是在桌面创建一个叫Source.csv的文件, #### 然后开始将资源目录中所有文件遍历,将文件名字中(包括后缀名)带有输入框的内容的文件,依次保存到桌面Source.CSV文件中第一个表格的第一列,第二列则依次放入文件所对应的路径 #### 如果目标目录按下选择了路径,则继续将目标目录的文件遍历,将文件名字中(包括后缀名)带有输入框的内容的文件,依次保存到桌面Source.CSV文件中第一个表格的第四列,第五列则依次放入文件所对应的路径 #### 完成后保存CSV文件,弹出一个300*200窗口,显示"Regonize Finish",单机OK后推出该窗口 ### 创建一个分割线 ### 再在下面设计一个导入文件的按钮,名字叫"Matching Import",按下后可以选择导入CSV文件,选择文件后弹出"import OK",单机OK后退出该提示窗口 ### 在"Matching Import"右侧再在设计一个按钮,名字叫Matching Start,按下后执行以下三个操作 #### 1.将第一个表格的第一列和第二列非空的内容复制到第一个表格的的第七列和第八列 #### 2.接着开始把第一个表格的第四列的表格内容依次与第七列的表格内容依次进行对比判断,如果相等,就将相等成立的第四列所在行的第四第五列内容,复制到相等成立的第七列所在行的第九第十列内 #### 3.遍历判断结束后,保存CSV文件,弹出一个出一个300*200窗口,显示"Matching Finish",单机OK后退出该提示窗口同时结束所有操作 ### 然后在再创建一个分割线 ### 然后再在下面设计一个导入文件的按钮,名字叫"Replace Import",按下后可以到导入CSV文件,选择文件后弹出"import OK",单机OK后退出该提示窗口 ### 如果Matching start按下后,第四列中内容有多次与第七列的同一行判断相等,第一个相等,就将相等成立的第四列所在行的第四第五列内容,复制到相等成立的第七列所在行的第九第十列内,第二个相等就,就将相等成立的第四列所在行的第五列内容,复制到相等成立的第七列所在行的第十一列内,第三个相等就,就将相等成立的第四列所在行的第五列内容,复制到相等成立的第七列所在行的第十二列内,第四个相等就,就将相等成立的第四列所在行的第五列内容,复制到相等成立的第七列所在行的第十三列内,以此类推 ### 在"Replace Import"右侧再设计一个按钮,名字叫 Replace Start按下后执行以下三个操作 #### 1.弹出一个显示Are your want to replace的提示框,如果点击OK,则继续往下执行,如果点击Cancel,则结束下面所有操作 #### 2.如果提示框点击OK,则在桌面新建一个No match的文件夹 #### 2.依次判断第九列的内容,如果第九列为空,但是对应行的第七列为非空,那就将所在行第八列内容的路径文件复制到桌面No match的文件夹 #### 3.如果第九列为非空,那么所在行的第八列的路径文件复制并替换掉所在行的第十列的路径文件 #### 3.如果第九列为非空,且File Same倍勾选,还要再判断所在行的第八列的路径文件的文件夹名和所在行的第十列的路径文件所在的文件夹名是否一致,如果一致,那么那么所在行的第八列的路径文件复制并替换掉所在行的第十列的路径文件,否则就继续往下执行操作 #### 5.完成后弹出一个出一个300*200窗口,显示"Replace Finish",单机OK后退出该提示窗口同时结束所有操作