C# - 检查unix文件夹是否存在

时间:2012-12-03 16:28:05

标签: c# unix sharpssh

我需要使用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”。如果我跳过检查,我可以毫无问题地使用该目录。

1 个答案:

答案 0 :(得分:2)

使用

  

SshExec.RunCommand(“ls -la”+ folder)

  

SshExec.RunCommand(“ls”+ folder)

如果您的文件夹未隐藏且您不需要尺寸信息

廉价命令,用于填充输出字符串的权限和文件夹信息(如果存在)