0

SharpSsh を使用して C# アプリケーションから unix フォルダーが存在することを確認する必要があります。
私はこれを試すことを考えました:

SshExec.RunCommand("-d " + folder)

ただし、フォルダーが存在するかどうかに関係なく、結果は常に「2」です。次を使用して何かを実装できます。

Sftp.GetFileList(folder)

ただし、このフォルダーには多数のファイルが含まれている可能性があり、それらのすべてが取得されるまでに遅延が発生するため、そうしないことをお勧めします。これはエレガントではありません.

何か案は?

編集: 私はこれを試しました:

string folder = "/foldername";
string result = sshExec.RunCommand("[ -d " + folder + "] && echo 'true' || echo 'false'");

if (result == "false") 
throw new Exception("Directory " + foldername+ " + is not found.");

ディレクトリが存在する場合でも、文字列 'result' は "false\n" として設定されます。チェックをスキップすると、問題なくディレクトリを操作できます。

4

1 に答える 1

2

使用する

SshExec.RunCommand("ls -la" + フォルダ)

また

SshExec.RunCommand("ls" + フォルダ)

フォルダが非表示になっておらず、サイズ情報が必要ない場合

存在する場合、出力文字列にアクセス許可とフォルダー情報を入力する安価なコマンド

于 2012-12-03T16:30:51.557 に答える