“回调” 是 USBCopyer V5.0 新引入的一个概念,它用于在 USBCopyer 执行特定操作时触发用户指定的代码或程序,以便实现某种高级的、程序没有提供的功能。
基本使用方法:
- 在USBCopyer设置打开回调的开关
- 打开USBCopyer所在目录下的 USBCopyer\USBCopyerSystem 文件夹
- 建立 回调名字.bat ,例如 AllCompletedCallback.bat
- 在里面写代码。可用的变量如下:
可用变量
书写以下内容就会被USBCopyer自动转换成相应的值。
变量名 | 说明 |
---|---|
{$SystemDir} | USBCopyer 所在目录 |
{$SystemVer} | USBCopyer 版本号 例如 5.0.0.0 |
{$DataDir} | USBCopyerData 所在目录(设置的数据目录) |
{$USBDir} | 本次复制所得的文件所在目录,不含{$DataDir} |
{$VolumeSerialNumber} | 磁盘序列号 |
{$VolumeName} | 磁盘卷标(名字) |
{$Volume} | 磁盘盘符,例如G: |
{$DriveType} | 磁盘种类(返回数字) |
磁盘种类:
Unknown (0)
No Root Directory (1)
Removable Disk (2)
Local Disk (3)
Network Drive (4)
Compact Disc (5)
RAM Disk (6)
具体回调说明
当回调运行时,基准目录是 USBCopyer 所在目录下的 USBCopyerData\USBCopyerSystem
文件夹(无视数据目录设置)
回调的所有输出都会被捕获,并记入日志。
回调:AllCompletedCallback
在磁盘文件全部复制后触发,可以用于调用Git实现版本控制、调用云盘客户端实现上传等
当 USBCopyer 变成空闲状态时,便会创建一个新线程运行此回调
回调:DiskDetectedCallback
当磁盘插入时触发。可用于做复制判断
若 “(回调2)等待完成,并只允许返回0时复制” 启用,则该回调将阻塞复制线程,并在回调完成后且退出码为0时继续复制。
若上述设置未启用,则该回调对复制线程没有影响。
变量{$USBDir}不可用。强行获取将得到NONE
玩法实例:使用GIT进行版本控制
首先安装最新版本的 Git,安装过程一路 Next 即可
然后在 USBCopyerData 打开命令行或Powershell(win10为资源管理器点击左上角文件),输入:git init
然后保存以下代码到:USBCopyerData\USBCopyerSystem
文件夹,命名为 AllCompletedCallback.bat
@echo off
echo USBCopyer Git Tool // Written by Kenvix
echo USBCopyer Version: {$SystemVer}
cd ..
git add .
git commit --author "USBCopyer <usbcopyer@kenvix.com>" -m "AutoCommit: {$USBDir}" .
exit %ERRORLEVEL%