Code Monkey home page Code Monkey logo

usbcopyer's Introduction

USBCopyer: 插上U盘自动按需复制文件

用于在插上目标U盘后自动按需复制该U盘的文件。"备份&偷U盘文件的神器"
特点:

  1. 支持设置冲突解决方案
  2. 支持选择性复制,包括扩展名黑白名单、磁盘黑白名单。磁盘黑白名单支持序列号
    白名单模式结合版本控制可以方便地备份U盘
  3. 支持隐藏模式及开机启动
  4. 支持设置回调,可以自己编写代码实现某种高级的、程序没有提供的功能。
    默认提供Git版本控制支持
  5. 支持限制文件大小,防止复制大文件造成延误
  6. 支持延迟复制,对“偷”课件类的场景提升用户体验十分有用

Screenshot

本程序有两个图标,默认图标表示当前处于空闲状态,红色图标表示当前正在复制文件(工作中)

现已提供三个版本(标准版/兼容版)可供下载,见“已编译版本下载”节
捐赠墙(点击查看)

已编译版本下载

【推荐】.Net Framework 4.0 版本(标准版)

适用操作系统:Windows 8 / Windows 10
点击从Git@OSC下载(**大陆用户推荐) 点击从GitHub下载

.Net Framework 3.5 版本(兼容版)

适用操作系统:Windows 7 / Windows Vista / Windows XP
WinXP请注意:XP可能需要手动安装 .NET Framework 3.5,没有安装请点此
点击从Git@OSC下载(**大陆用户推荐) 点击从GitHub下载

自 V5.0 开始,标准版即为低权限版。不会弹出UAC警告。亦支持高DPI缩放。

适用场景

  1. 获取授课教师的课件
  2. 获取插到某台公用电脑上的U盘的数据
  3. 快捷地备份U盘(从V5.0开始)
  4. 备份U盘的同时进行版本控制

如何使用

1.下载 2.双击 USBCopyer.exe 3.程序将在托盘区运行,右击图标可以调整其参数 点击 "隐藏图标" 将彻底隐藏程序,只能使用任务管理器停止,或按Win+R输入taskkill /f /im USBCopyer.exe 点击 "设置" 可以设置程序

命令行

USBCopyer.exe [/hide] [/gui] [/reset]
/hide 以隐藏模式启动,只能通过任务管理器结束进程
/gui 除非使用 /hide 参数,否则无论如何都不要使用隐藏模式启动。可用来解除隐藏模式 /reset 恢复默认设置并退出,若失败,返回退出码1。可用来解除隐藏模式,但会丢掉所有设置

常见问题

USBCopyer的复制行为造成U盘的文件操作卡顿

请设置一个延迟。通常推荐在使用者开始放映幻灯片时开始复制

使用者在使用该电脑前重启了此电脑

将本程序设为开机启动即可。设置方法如下:

  1. 直接在本程序的“设置”中设置
  2. 若上面的方法无效,则可:
    创建一个快捷方式,然后加上参数,拖到 "开始菜单" 的 "启动" 文件夹即可
可否复制手机的文件?

若为MTP/PTP则无法实现(V6.0也许会实现),但如果是以Mass Storage(大容量存储)模式挂载到电脑上的设备则可以复制

U盘在操作完成前被拔出

请使用心理学方法防止U盘在操作完成前被拔出

如何防止拷到病毒?

安装杀毒软件,监控 USBCopyerData 目录即可

目标电脑带有还原机制

两种方法:
1.插上你的U盘,然后启动本程序,加入该U盘到黑名单,然后设置输出目录到你的U盘
2.用 PCHunter 之类的程序干掉还原程序

如何使用回调&如何配置Git版本控制?

参见:https://kenvix.com/post/usbcopyer-callback/

代码仓库

Git@OSC GitHub
我的博客文章

捐赠

USBCopyer 是一个开源的,非盈利的项目。如果你喜欢这个项目,请捐赠它:

支付宝捐赠

Screenshot

微信支付捐赠

Screenshot

捐赠墙(点击查看)

usbcopyer's People

Contributors

fyy99 avatar horange321 avatar kenvix avatar redapple0204 avatar waleswood avatar zyyujq avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

usbcopyer's Issues

建议增加“只复制打开过的文件”的功能

需要拷贝的文件一般就是打开过的文件,能不能增加一个只复制打开过的文件的功能呢?
印象中Recent文件夹里的快捷方式记录了最近打开文件的位置,可供参考。

监测U盘弹出事件

监测U盘弹出事件,以在未复制完时的主动弹出请求后实现解除弹出占用
可以尝试监测系统事件日志,在第二次尝试弹出时正常弹出

没有显示

安装以后没有显示到托盘里,但有弹窗

多扩展名怎么分隔?

每个扩展名用半角(.)分隔,前面不需要加点(.)
的意思是下面这样吗?
txt.jpg.png

还有磁盘序列号的格式也是这样吗?
序列号1.序列号2.序列号3

建议只允许单个进程运行

多个USBCopyer.exe同时运行可能导致不可预知的问题。
建议一次只允许单个进程运行。

个人建议:

当已有一个USBCopyer.exe在运行时,用户尝试打开另一进程,

  1. 若现有进程正在隐藏运行,则显示其图标(切换至未隐藏运行状态);
  2. 若现有进程未隐藏运行,则显示“设置”界面。

--------------------分割线--------------------
话说不应该是USBCopier吗=_=
(有这么个神器用,不要在意那么多啦)

【预览】 USBCopyer V5.0

11

重新设计设置页面,增加更多内嵌帮助
增加磁盘白名单
增加全部复制完成后回调功能

文件冲突解决方案的问题

我设置的是重命名新文件. 同一个ID的U盘, 里面的A.file文件如果文件被修改过再次复制的时候, 没有把修改过的文件重命名复制过来.
这样可以备份文件的历史版本, 这是很实用的场景
参考https://www.usbflashcopy.com/

回调编码问题

场景:

  • 开启DiskDetectedCallback回调
  • 操作的目录里有中文路径

在这个时候,如果我以ANSI编码保存DiskDetectedCallback.bat文件,那么在插入U盘后自动生成的临时文件会自动变为UTF-8编码,导致中文乱码。
Snipaste_2019-04-28_20-26-45
Snipaste_2019-04-28_20-26-52
而如果直接以UTF-8编码保存DiskDetectedCallback.bat文件,此时生成的临时文件虽然手动打开不会乱码,但windows执行会出现乱码

请问可不可以增加更改复制时间的功能

如果只是拷贝课件后就拔出U盘,时间大概在一分钟但是程序还在复制,系统会提示占用
希望增加控制复制时间的功能,比如从插入开始只复制30秒就停止;积少成多,慢慢就复制完了,而且不会暴露,反正大概率不会更换U盘 :)
希望作者考虑一下,感谢

打不开

双击运行后,右下角给出个提示,右键单击图标可进行设置。
然后我将鼠标移动到任务栏的这个图标上后,软件就没了。
最新版Win10.

指定序列号复制到指定文件夹

我把一大堆拷到的(老师的)
U盘按学科分类之后发现一个问题。
拷到的U盘只能放到另外一个文件夹里,必须人工复制到按学科分类的文件夹。
我觉得可以加个功能,指定序列号复制到指定文件夹里
毕竟就几个老师,一次设置一劳永逸

建议

  1. 做一个ComboBox,可以直接选一类扩展名。对现在教室用的触屏电脑很友好。
  2. 保存配置时自动重启
  3. 双击托盘图标打开设置,触摸屏上右击不是件容易的事
    均已实现,可以的话可以pr

Some suggestions for USBCopyer

您好,感谢你的USBCopyer:

非常感谢您的USBCopyer,可以非常方便的静静的备份U盘文件,之前一直尝试做都不尽人意,直到看到您的USBCopyer才感到自愧不如.
不知您是否还在进行这个项目,暂且提一些建议:

  1. 希望将设置界面做的更简练些,方便操作
  2. 希望能够添加上传功能,可以直接备份到云端
    例如FTP服务器或NFS,Samba,或者直接link到群辉.
    如果您愿意添加这些功能,我会pr一些想法.

愿您的USBCopyer能够越做越好.

建议增加优先级相关设置

如果U盘里有大量电影、固件、Galgame游戏安装包之类的以GB为单位内容,将大幅拖慢偷文件的时间;但如果能按文件大小升序排列的顺序复制,就能显著缓解这个问题。
另外也可以允许用户手动设置扩展名的优先级(例如.docx等最高,.iso等最低)
希望加入以上功能。

没效果,一直是空闲状态。

U盘是64G的金士顿,格式是NTFS,有两个分区,一个是PE用的分区。
另一个是存文件用的。
设置如图所示:
image
连续插拔优盘多次,还是没效果。重启程序也没啥效果。

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.