Наш продукт, CompleteFTP , позволяет добавлять пользовательские команды. Пользовательские команды могут быть вызваны из любого протокола (FTP, SFTP, SSH, HTTP). В этом случае она будет вызываться как команда FTP SITE.
Пользовательские команды могут быть добавлены через встроенный Javascript или через сборку .NET. Со встроенным Javascript работать намного проще, поэтому я разработал для вас скрипт, который делает это:
function drivespace(driveLetter) {
var driveName = driveLetter.toUpperCase() + ":\\";
var drives = System.IO.DriveInfo.GetDrives();
for (var i=0; i<drives.Length; i++) {
var drive = drives[i];
if (drive.Name == driveName)
return drive.TotalFreeSpace;
}
throw "Could not find drive " + driveName;
}
Обратите внимание, что, хотя это Javascript, он вызывает класс .NET, System.IO.DriveInfo . Сценарий вводится непосредственно в инструмент администрирования и доступен сразу.
Вот пример сеанса командной строки, который показывает, что он вызывается:
Connected to MyServer.
220-Complete FTP server
220 CompleteFTP v 10.1.0
530 Please login with USER and PASS
User (MyServer:(none)): myuser
331 Password required for myuser
Password:
230 User myuser logged in.
ftp> SITE drivespace C
200-170992414720
200 SITE command successful.
ftp> SITE drivespace g
501-Could not find drive G:\
501 SITE command failed.
ftp>