抢先运行FileZille_Pro并远程连接群晖RAID6存储池_2021年10月29日
由于需要使用群晖的WebDAV文件服务,所以使用FileZille的Pro专业版,而不是普通版
不使用有黑色窗口的BAT批处理脚本
不使用需要AutoHotkeyU32.exe文件的AutoHotkey自动化脚本
请使用KeePass2Android来连接坚果云的WebDAV文件服务并
管理所有网址、用户名、密码等个人机密秘密信息
用WinRAR打包成单个自解压单文件可执行程序文件
为了能在解压缩前和解压缩后再当前文件夹运行命令
wscript.exe //e:vbscript D:\green\FileZilla_Pro\run.vbs
所以打包压缩run.vbs文件所在的文件夹,而不是打包green文件夹。
run.vbs的源代码如下:
‘═════代═══码═══开═══始═════
on error resume next
set y=getobject(“winmgmts:\\.\root\cimv2”)
set ws=createobject(“wscript.shell”)
set x=y.execquery(“select * from win32_process where name=’filezilla.exe'”)
Set objShell = Wscript.createobject(“wscript.shell”)
for each i in x
‘msgbox “BaiduHi进程存在”
wscript.quit
next
‘msgbox “BaiduHi进程不存在”
‘复制自定义配置文件到当前用户应用数据文件夹
objShell.Run “robocopy %~dp0filezillacfg/ %APPDATA%/FileZilla/ /e /mt /r:3 /w:3 *.*”
‘启动 FileZilla Pro专业版 并显示密码输入对话框
objShell.Run “filezilla.exe –site=DS920_WebDAV_HTTPS_RAID6”
‘objShell.Run “D:\green\FileZilla_Pro\filezilla.exe”
‘═════代═══码═══结═══束═════
。
在VBS脚本打开WebDAV站点连接窗口的语句中WebDAV站点名称前面需要添加数字0
例如:在FileZilla Pro中保存的群晖WebDAV站点名称是DS920_WebDAV_HTTPS_RAID6那么VBS脚本连接语句如下:
‘启动 FileZilla Pro专业版 并显示密码输入对话框
objShell.Run “filezilla.exe –site=0DS920_WebDAV_HTTPS_RAID6”
在RAID 6存储池中同时损坏两块机械硬盘时应当及时备份重要文件并
及时更换已经损坏的硬盘并修复存储池,以免丢失文件。
在RAID 1存储池中损坏的机械硬盘达到叁块时应当及时备份重要文件并
及时更换已经损坏的硬盘并修复存储池,以免丢失文件。
购买群晖DS920+网络存储服务器并用单块硬盘容量是18TB的4块机械硬盘组建 RAID 1 镜像存储池,
并把群晖DS920+网络存储服务器用密码铜挂锁锁在隐蔽的不易被小偷发现的地方,防止服务器被盗。
利用 Synology Secure Signln 安卓应用程序的无需输入密码的批准登录功能远程异地登录群晖NAS。
从而有效的防止和杜绝文件丢失事件的发生。
自动(AutoHotkey)、批量(Total Commander)、
智能(Embarcadero.Delphi.10.4.1.v27.0.38860.1461.Lite.v16.1)、
高效、统一、集中、可靠的新建、重命名、编辑、分类、整理、备份、搜索和筛选所有绿色免安装软件、电脑软件安装包、文档、表格、照片、图片、音频文件、视频文件、有声读物、PDF电子书、编程源代码、数据库、游戏、压缩包、ISO镜像、GHO系统镜像、ESD系统镜像、收藏夹导出文件、配置导出文件等各种单子文件。
建议大家用飞扬时空的博客中的TotalCommander中文增强版v7.0a(10.00)和WebDAV插件
来远程连接容量为18TB的群晖 RAID 1 镜像存储池中的WebDAV文件服务。
如果群晖设置的是HTTPS加密连接的WebDAV文件服务那么在Total Commander的WebDAV插件设置中
应当勾选Secure Server (via SSL)
‘═════代═══码═══开═══始═════
‘本VBS脚本的文件名是 D:greenTotalCMDrun.vbs
‘本VBS脚本的写作日期是2021年10月30日
‘本VBS脚本的作者是徐晓
on error resume next
set y=getobject(“winmgmts:\.rootcimv2”)
set ws=createobject(“wscript.shell”)
set x=y.execquery(“select * from win32_process where name=’TotalCMD-v10.exe'”)
Set objShell = Wscript.createobject(“wscript.shell”)
for each i in x
‘msgbox “BaiduHi进程存在”
wscript.quit
next
‘msgbox “BaiduHi进程不存在”
‘复制自定义配置文件到当前用户应用数据文件夹
‘objShell.Run “robocopy %~dp0filezillacfg/ %APPDATA%/FileZilla/ /e /mt /r:3 /w:3 *.*”
‘启动飞扬时刻的博客中下载的Total Commander 10.00 并显示连接群晖WebDAV的密码输入对话框
objShell.Run “TotalCMD-v10.exe \WebDAVds920”
‘objShell.Run “TotalCMD-v10.exe \安全 FTPds920”
‘objShell.Run “D:greenFileZilla_Profilezilla.exe”
‘═════代═══码═══结═══束═════
; 按快捷键 F8 时激活或者隐藏 Total Commander V10.00 窗口
#SingleInstance,force
#Persistent
#NoTrayIcon
DetectHiddenWindows,On
SetTitleMatchMode,2
Hotkey,F8,ActivateOrHideWindowHotkey
return
;
ActivateOrHideWindowHotkey()
{
IfWinActive,Total Commander ahk_class TTOTAL_CMD
{
WinMinimize,Total Commander ahk_class TTOTAL_CMD
}
else
{
ActivateOrHideWindow()
}
}
;
; 请使用 窗口信息工具 AHKInfo 1.3.5 获取窗口的类名
;根据窗口类名激活或者隐藏窗口
ActivateOrHideWindow(VarExeFileName:=”TotalCMD-v10″,VarWinClassName:=”TTOTAL_CMD”)
{
; 1、如果程序没有运行则运行程序
Process,Exist,%VarExeFileName%.exe
if (%ErrorLevel%=0)
{
IfExist,%VarExeFileName%.exe
{
Run,%VarExeFileName%.exe
return
}
else
{
MsgBox,找不到文件 %VarExeFileName%.exe
return
}
}
; 2、如果窗口未置顶则显示并激活(切换到)指定窗口
IfWinNotActive,ahk_class %VarWinClassName%
{
loop,2
{
Sleep,50
WinShow,ahk_class %VarWinClassName%
;~ WinMaximize,ahk_class %VarWinClassName%
Sleep,50
WinGet, WinID, ID,ahk_class %VarWinClassName%
Sleep,50
DllCall(“SwitchToThisWindow”, “UInt”, WinID, “UInt”, 1)
}
return
}
; 3、如果窗口已经显示并置顶则隐藏窗口
;~ WinMinimize,ahk_class %VarWinClassName%
WinHide,ahk_class %VarWinClassName%
}