#coding:utf-8

 from ctypes import *
from FileCopy import * def GetFilePathList(FilePath):
dll = CDLL(r"F:\VSProject\FileFunction20190101Dll\Release\FileFunction20190101Dll.dll")
Length = c_int(0)
return dll.TraversFileInterface(FilePath) des = 'E:\Pictures'
src = 'J:\Video&Pictures' #源路径文件列表获取
psrcchar = GetFilePathList(src)
szSrcBuffer = c_char_p(psrcchar)
SrcFilePath = szSrcBuffer.value
SrcFilePathList = SrcFilePath.split('\r\n') #目标文件列表获取
pdeschar = GetFilePathList(des)
szDesBuffer = c_char_p(pdeschar)
DesFilePath = szDesBuffer.value
DesFilePathList = DesFilePath.split('\r\n') #生成目标路径比对集合
DesFileSet = set()
for FilePath in DesFilePathList:
#print FilePath.split('\\')[-1]
DesFileSet.add(FilePath.split('\\')[-1]) NewSrcFileList = []
#根据目标路径内容剔除已存在文件
for FilePath in SrcFilePathList:
#print FilePath.split('\\')[-1]
if FilePath.split('\\')[-1] not in DesFileSet:
NewSrcFileList.append(FilePath) #根据目的地址路径对源文件列表进行改造替换,生成拷贝目的地址
DesCopyList = []
for FilePath in NewSrcFileList:
CopyPath = FilePath.replace(src, des)
CopyPath = CopyPath[0:CopyPath.rfind('\\')+1]
CopyFromSrcToDes (FilePath, CopyPath)
#DesCopyList.append(CopyPath) print len(NewSrcFileList)
print len(DesCopyList)
#dll.PrintHex(filedata, len(filedata))

FileCopy文件

 import os

 def CopyFileByList():
return def CopyFromSrcToDes(src, des):
cmdname = 'xcopy ' + '\"' + src + '\"' + ' \"' + des + '\"'
RunCmd(cmdname)
return def RunCmd(cmd):
print cmd
ret = os.system(cmd)
return

文件同步程序,Python和C写的DLL的更多相关文章

  1. [开源] 基于ABP,Hangfire的开源Sharepoint文件同步程序----SuperRocket.SPSync

    (一)项目背景 Sharepoint是微软的一个产品,很多公司都在使用它,也有很多公司以前使用它,现在可能需要移植到别的平台,也可能只是移植其中的文件存储,比如说移植到微软云,或者亚马逊云存储.Sup ...

  2. 信号量和PV操作写出Bakery算法的同步程序

    面包店烹制面包及蛋糕,由n个销售员卖出.当有顾客进店购买面包或蛋糕时,应先在取号机上取号,然后等待叫号,若有销售员空闲时便叫下一号,试用信号量和PV操作写出Bakery算法的同步程序. 设计要求 1) ...

  3. 远程文件同步详解(Remote File Sync)

    1. 远程文件同步的常见方式: 1.cron + rsync 优点: 简单 缺点:定时执行,实时性比较差:另外,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚 ...

  4. linux服务器之间的文件同步;rsync+inotifywait;同步多个目录

    1.双向同步:unison+inotify 2.单向同步:rsync+inotify python版的pyinotify 本文介绍第二种方法: 1.Inotify 是一个 Linux特性,它监控文件系 ...

  5. 使用WinSCP进行简单代码文件同步

    前言传输协议FTPFTPSSFTPSCP为什么使用WinSCP?CMD的FTP命令FileZillaPuTTYrsyncSublime的SFTP插件WinSCPWinSCP进行简单代码文件同步总结备注 ...

  6. 实战远程文件同步(Remote File Sync)

    1. 远程文件同步的常见方式: 1.cron + rsync 优点: 简单 缺点:定时执行,实时性比较差:另外,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚 ...

  7. BAT实现服务器文件同步

    服务器文件同步有很多工具,例如 GoodSync.rsync.BitTorrent Sync等……其实WINDOWS下自带了一个文件同步利器:ROBOCOPY.它是一个命令行的目录复制命令,自从Win ...

  8. sharepoint多个NLB的web前段如何进行文件同步?

    大家都知道,sharepoint2010服务器场可能有2个或2个以上的web服务器做NLB,有个时候牵涉到上传文件到文件夹(说到这里,有人会说全部以二进制文件保存到文档库啊,但是有些情况不允许的,比如 ...

  9. 烂泥:linux文件同步之rsync学习(一)

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天刚好有空就打算开始学习linux下的文件同步软件rsync,在学习rsync时,我们可以分以下几个步骤进行: 1. rsync是什么 2. rsy ...

随机推荐

  1. windows下srand48()和drand48()的问题

    前几天在windows下用MINGW编译一段代码时,出现了错误提示说srand48()和drand48()的未定义,去网上搜了下,发现好多人也遇到了同样的问题,大约有两种解决方案: 第一个就是说gcc ...

  2. cf 633B A trivial problem

    Mr. Santa asks all the great programmers of the world to solve a trivial problem. He gives them an i ...

  3. Mac 配置几个环境变量

    终端    open -t ~/.bash_profile  打开.bash_profile export PATH=${PATH}:/Users/maxinliang/Android/sdk/pla ...

  4. poj 1984 并查集

    题目意思是一个图中,只有上下左右四个方向的边.给出这样的一些边, 求任意指定的2个节点之间的距离. 就是看不懂,怎么破 /* POJ 1984 并查集 */ #include <stdio.h& ...

  5. April Fools Day Contest 2016 B. Scrambled

    B. Scrambled 题目连接: http://www.codeforces.com/contest/656/problem/B Description Btoh yuo adn yuor roo ...

  6. jQuery对象和Javascript对象

    jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象.jQuery 对象是 jQuery 独有的,其可以使用 jQuery 里的方法,但是不能使用 DOM 的方法:例如: $(&quo ...

  7. How to put a relative path for a DLL statically loaded?

    How to put a relative path for a DLL statically loaded? I have a DLL made in Delphi 7/Windows XP tha ...

  8. javascript函数中的匿名函数

    一般写函数,我们会这样调用: function add(x, y) { return x + y; } alert(add(2, 3)); 或者这样: var add = function(x, y) ...

  9. .NET:命令行解析器介绍

    背景 经常需要开发一下小工具,之前都是自己解析命令行参数,接触过动态语言社区以后,发现命令行解析有特定的模式和框架可以利用,本文介绍一个 .NET 平台的类库. 示例 需求 拷贝文件,如:CopyFi ...

  10. Confman - 针对「Node 应用」的配置文件加载模块

    一句话介绍 confman 是一个强大的配置文件加载器,无论你喜欢 yaml .cson.json.properties.plist.ini.toml.xml 还是 js,都能满足你的愿望,并且更加简 ...