Skip to content

Commit

Permalink
V5.0: 大幅度的功能更新
Browse files Browse the repository at this point in the history
  • Loading branch information
kenvix committed Jun 22, 2018
1 parent 52747a4 commit 1c48620
Show file tree
Hide file tree
Showing 10 changed files with 47 additions and 30 deletions.
Binary file modified .vs/USBCopyer/v15/.suo
Binary file not shown.
57 changes: 35 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,41 @@
# USBCopyer: 插上U盘自动复制U盘文件
[![Build status](https://ci.appveyor.com/api/projects/status/xv5b8wf0h7cuy897?svg=true)](https://ci.appveyor.com/project/kenvix/usbcopyer)
# USBCopyer: 插上U盘自动按需复制文件

**用于在插上目标U盘后自动复制该U盘的文件。"偷U盘文件的神器"**,支持设置冲突解决方案,支持延迟复制,支持扩展名黑白名单,支持磁盘分区号/序列号黑名单,支持日志,支持弹出U盘时强制停止复制防止占用
本程序有两个图标,默认图标表示当前处于空闲状态,红色图标表示当前正在复制文件(工作中)
现已提供三个版本(标准版/兼容版/低权限版)可供下载,见“已编译版本下载”节
![Screenshot](https://git.oschina.net/kenvix/USBCopyer/raw/master/git-resources/screenshot.jpg)
**用于在插上目标U盘后自动按需复制该U盘的文件。"备份&偷U盘文件的神器"**
特点:
1. 支持设置冲突解决方案
2. 支持选择性复制,包括扩展名黑白名单、磁盘黑白名单。磁盘黑白名单支持序列号
白名单模式结合版本控制可以方便地备份U盘
3. 支持隐藏模式及开机启动
4. **支持设置回调**,可以自己编写代码实现某种高级的、程序没有提供的功能。
默认提供**Git版本控制支持**
5. 支持限制文件大小,防止复制大文件造成延误
6. 支持延迟复制,对“偷”课件类的场景提升用户体验十分有用

![Screenshot](https://git.oschina.net/kenvix/USBCopyer/raw/master/git-resources/screenshot-new.jpg)

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

现已提供三个版本(标准版/兼容版)可供下载,见“已编译版本下载”节

## 已编译版本下载

#### 【推荐】.Net Framework 4.0 版本(标准版)
**适用操作系统**:Windows 8 / Windows 10
[点击从Git@OSC下载](https://git.oschina.net/kenvix/USBCopyer/raw/master/Release/USBCopyer.Release.exe) [点击从GitHub下载](https://github.com/kenvix/USBCopyer/blob/master/Release/USBCopyer.Release.exe?raw=true)
**适用操作系统**:Windows 8 / Windows 10
[点击从Git@OSC下载(中国大陆用户推荐)](https://git.oschina.net/kenvix/USBCopyer/raw/master/Release/USBCopyer.Release.exe) [点击从GitHub下载](https://github.com/kenvix/USBCopyer/blob/master/Release/USBCopyer.Release.exe?raw=true)

#### .Net Framework 3.5 版本(兼容版)
**适用操作系统**:Windows 7 / Windows Vista / Windows XP
**WinXP请注意**XP可能需要安装手动.NET Framework 3.5,[没有安装请点此](https://download.microsoft.com/download/7/0/3/703455ee-a747-4cc8-bd3e-98a615c3aedb/dotNetFx35setup.exe)
[点击从Git@OSC下载](https://git.oschina.net/kenvix/USBCopyer/raw/master/Release/USBCopyer.Release.Net3.5.exe) [点击从GitHub下载](https://github.com/kenvix/USBCopyer/blob/master/Release/USBCopyer.Release.Net3.5.exe?raw=true)
**适用操作系统**:Windows 7 / Windows Vista / Windows XP
**WinXP请注意**XP可能需要手动安装 .NET Framework 3.5,[没有安装请点此](https://download.microsoft.com/download/7/0/3/703455ee-a747-4cc8-bd3e-98a615c3aedb/dotNetFx35setup.exe)
[点击从Git@OSC下载(中国大陆用户推荐)](https://git.oschina.net/kenvix/USBCopyer/raw/master/Release/USBCopyer.Release.Net3.5.exe) [点击从GitHub下载](https://github.com/kenvix/USBCopyer/blob/master/Release/USBCopyer.Release.Net3.5.exe?raw=true)

#### 低权限 .Net Framework 4.0 版本(低权限版)
**适用操作系统**:Windows 8 / Windows 10
**适用情况**:不便于关闭UAC的操作系统,这类系统使用在标准版USBCopyer时,会提示请求管理员权限。低权限版通过降低自身的访问权限来规避此问题。
**注意**:要设置开机启动,你必须以管理员权限来运行低权限版。低权限版可能无法复制有权限设置的文件的U盘
[点击从Git@OSC下载](https://git.oschina.net/kenvix/USBCopyer/raw/master/Release/USBCopyer.Release.Low-Permissions.exe) [点击从GitHub下载](https://github.com/kenvix/USBCopyer/blob/master/Release/USBCopyer.Release.Low-Permissions.exe?raw=true)

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

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

#### 如何使用

Expand All @@ -38,8 +46,10 @@
点击 "设置" 可以设置程序

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

### 常见问题
##### USBCopyer的复制行为造成U盘的文件操作卡顿
Expand All @@ -52,7 +62,7 @@ USBCopyer.exe [/hide]
创建一个快捷方式,然后加上参数,拖到 "开始菜单" 的 "启动" 文件夹即可

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

##### U盘在操作完成前被拔出
无解
Expand All @@ -62,6 +72,9 @@ USBCopyer.exe [/hide]
1.插上你的U盘,然后启动本程序,加入该U盘到黑名单,然后设置输出目录到你的U盘
2.用 PCHunter 之类的程序干掉还原程序

#### 如何使用回调&如何配置Git版本控制?
参见:https://kenvix.com/post/usbcopyer-callback/

## 代码仓库
[Git@OSC](https://git.oschina.net/kenvix/USBCopyer) [GitHub](https://github.com/kenvix/USBCopyer)
[我的博客文章](https://kenvix.com/?p=86)
Expand Down
Binary file modified Release/USBCopyer.Debug.exe
Binary file not shown.
Binary file modified Release/USBCopyer.Release.Net3.5.exe
Binary file not shown.
Binary file modified Release/USBCopyer.Release.exe
Binary file not shown.
7 changes: 2 additions & 5 deletions USBCopyer/Host.cs
Original file line number Diff line number Diff line change
Expand Up @@ -458,15 +458,12 @@ private static int RunCallback(String cmd, out string StdOut)
{
var p = new Process();
var si = new ProcessStartInfo();
var path = Environment.SystemDirectory;
path = Path.Combine(path, @"cmd.exe");
si.FileName = path;
if (!cmd.StartsWith(@"/")) cmd = @"/c " + cmd;
si.Arguments = cmd;
si.FileName = cmd;
si.UseShellExecute = false;
si.CreateNoWindow = true;
si.RedirectStandardOutput = true;
si.RedirectStandardError = true;
si.WorkingDirectory = confdir;
p.StartInfo = si;

p.Start();
Expand Down
4 changes: 2 additions & 2 deletions USBCopyer/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值,
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.9.9.9")]
[assembly: AssemblyFileVersion("4.9.9.9")]
[assembly: AssemblyVersion("5.0.0.0")]
[assembly: AssemblyFileVersion("5.0.0.0")]
[assembly: NeutralResourcesLanguage("")]

9 changes: 8 additions & 1 deletion USBCopyer/Setting.cs
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,14 @@ private void linkLabel10_LinkClicked(object sender, LinkLabelLinkClickedEventArg

private void linkLabel11_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{

try
{
Process.Start("explorer.exe", "\"https://kenvix.com/post/usbcopyer-callback/\"");
}
catch (Exception ex)
{
MessageBox.Show("打开失败:" + ex.ToString());
}
}
}
}
Binary file added git-resources/screenshot-new.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed git-resources/screenshot.jpg
Binary file not shown.

0 comments on commit 1c48620

Please sign in to comment.