1

私は、ftp サーバーとの間のデータ転送を自動化するために使用される Matlab GUI を作成しました。これは、cURL を使用して行われます。

str = sprintf(' "%s" -O "ftp://%s:%s@%s" -Q "CWD %s%s/" ', ...
    handles.curl, username, password, ...
    strcat(ftpname, d{1}), '/users/', username);

% Try to transfer file until successful (s=0)
s = 1;
while s ~= 0
    s = dos(str);
end

通常、この GUI は低速のネットワークで実行されるため、50 MB のファイルの転送には最大で 30 分以上かかる場合があります。

私が知りたいのは、データ転送の途中で GUI の「停止」ボタンが押された場合、cURL でその転送をキャンセルする方法があるか、それとも完了させる必要があるかということです。

4

1 に答える 1

0

dosコールバックを使用してタイマー オブジェクトを設定し、ユーザーがキャンセル ボタンを押したかどうかを確認してから、別のコマンドでプロセスを強制終了しようとすることができます。私が気に入らないのは、外部プロセス全体の cURL だけです。適切なプロセスを取得したかどうかを確認するのは難しい場合があります。Matlab の転送コマンドを試していない理由はありますか?

于 2012-09-27T23:15:50.827 に答える