Git Product home page Git Product logo

pathmerge's Introduction

PathMerge - 目录合并小工具

前言

这个程序是我做毕设的时期写的,每次去机房拷贝毕设文件到电脑,一天过后再把修改后的文件一个一个拷贝回来,覆盖,东西一多,我就不知道到底那些文件修改过了,哪些没有修改过,所以有时候辛苦了一天的文件,结果忘了复制到优盘里带走,第二天系统自动还原找不到了,实在让我很心累……(应用场景)

于是我就写了这个小工具,它能合并目录,并自动检测修改的文件,在合并目录的时候创建旧文件的副本,拷贝新文件过来,如此,合并目录也不会丢失文件。(作用)

该项目中我已经给出了转换之后的.exe文件,没有python环境的可以直接运行PathMerge.exe使用。

快速安装

step 1 : 直接clone到本地

git clone https://github.com/windcode/PathMerge.git

step 2 : 进入目录执行 PathMerge.py

python PathMerge.py

ps:直接运行PathMerge.exe也是可以的

使用演示

现在有两个工作空间

两个工作空间

工作空间1是你之前做好的一个工程或者文件夹,里面放满了文件,目录结构复杂。

空间1_1

空间1_2

详细目录:

详细目录

工作空间2是你现在要工作的目录,现在是空的。

空间2

我们把要用的文件夹拷过来

拷贝文件

并在里面做一些改动。

这里不放图了,总之我创建了一个文件夹,创建了两个文件,修改了三个文件……现在目录结构变成这样:

新的目录结构

和之前不同了,可以看到,新目录中1/下多了一个文件夹33,33/中多了两个文件111.txt和222.txt,我还修改了一个txt文件,一个ppt文件和一个word文件的内容。具体的就不贴图了。

下面运行PathMerge开始合并:

运行

输入A目录(修改的文件夹)和B目录(原文件夹),要将A==>B,A合并到B。

合并前

回车开始合并:

合并开始

合并成功!

合并的记录都列在上面了,如果名称相同的文件会将旧文件创建一个副本,修改后的文件直接复制过去,程序中没有删除文件的代码,可放心食用。

上图可知复制了三个文件,创建了三个旧文件副本,另外复制了创建的目录。

将工作空间2中1文件做的所有改动都包含了进去。

说的有点啰嗦,其实使用很简单,如果你嫌每次输入目录太麻烦的话,你也可以将命令写入脚本,每次双击运行即可。

特性

  • 可识别加“”的目录和不加“”的目录。

  • 使用MD5识别文件是否修改。 MD5识别文件的内容见博文:python计算文件的md5值

  • 支持命令行执行,可用来写脚本。例:

脚本目录:

脚本目录

脚本内容:

脚本内容

  • 原文件夹内的旧文件不会被删除,而是创建一个带有时间戳的副本。修改过的新文件直接复制过去。 这样不用担心合并之后文件莫名其妙的丢失,使用该工具不会有文件删除操作

  • 列出合并记录,统计合并信息

合并信息

注意

pathmerge's People

Contributors

elliotxx avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.