3

file.txt次のコードは、 からという名前のファイルSFTP remote serverlocal machine.

 sftp.Get("/usr/mine/file.txt" , "C:/Folder/");

私がやりたいことは、ファイルfile.txtがに存在するかどうかを確認することですremote server。このチェックを行うにはどうすればよいですか。ヘルプ

私は使っているSharpSSH

4

3 に答える 3

4

小さなヒットを取り、ファイルのダウンロードを試みることを検討できます。存在しない場合は、例外がスローされ、それをキャッチして先に進むことができます。ファイルの存在の確認は不安定な状況であるため、ほとんどの場合、アクションを試して実行することをお勧めします。

于 2012-06-09T16:48:03.950 に答える
2

これでうまくいくはずです。

 using (var sftp = new SftpClient(host, username, password))
        {
            try
            {

                sftp.Connect();
                MessageBox.Show(sftp.Exists(remoteDirectory).ToString());
            }
            catch (Exception Sftpex)
            {
                MessageBox.Show(Sftpex.ToString());
            }
        }
于 2014-07-03T13:09:14.493 に答える
0

.GetFileList を使用して値を ArrayList に読み込み、各値をループしてファイル名をリスト ボックスに追加することでこれを行っています。次に、リスト ボックスに対して入力ファイルをチェックし、存在するかどうかを確認します。以下のサンプル コードは、.GetFileList 値を ArrayList に追加してからリスト ボックスに追加します。

ところで-これはVB.NETです:)

Dim InputFileList As ArrayList = oSftp.GetFileList(frmOptions.tbFTPInboundFolder.Text)
 For Each f In InputFileList
                If f.ToString() <> "." AndAlso f.ToString <> ".." Then
                    frmMain.lbFTPInputDirectory.Items.Add(f)
                End If
            Next
于 2014-06-01T02:26:39.783 に答える