我需要使用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”。如果我跳过检查,我可以毫无问题地使用该目录。
答案 0 :(得分:2)
使用
SshExec.RunCommand(“ls -la”+ folder)
或
SshExec.RunCommand(“ls”+ folder)
如果您的文件夹未隐藏且您不需要尺寸信息
廉价命令,用于填充输出字符串的权限和文件夹信息(如果存在)