我正在尝试使用WinSCP .NET程序集将文件夹的内容(但不包含具有备份文件,存档文件和错误文件的子文件夹)上传到服务器。这甚至可能吗?如果是这样,我该怎么做?
我现有作品的快速代码片段:
// string mode ...
// Session sess ...
// TransferOperationResult res ...
TransferOptions tOpts = new TransferOptions();
tOpts.FileMask = c.SearchPattern;
tOpts.TransferMode = TransferMode.Binary;
tOpts.PreserveTimestamp = true;
SetMessage("Uploading files");
res = sess.PutFiles(Path.Combine(c.LocalPath, c.SearchPattern),
c.RemotePath,
c.DeleteAfterXFer,
tOpts);
是否有某种方式可以说明:
tOpts.TopDirectoryOnly = true
答案 0 :(得分:2)
使用file mask |*/
to exclude all (sub-)directories。
使用TransferOptions.FileMask
property设置文件掩码。
TransferOptions transferOptions = new TransferOptions();
transferOptions.FileMask = "|*/";
session.PutFiles(@"d:\toupload\*", "/home/user/", false, transferOptions).Check();
特别针对您的样本,请执行以下操作:
tOpts.FileMask = c.SearchPattern + "|*/";
还在WinSCP常见问题How do I transfer (or synchronize) directory non-recursively?
中记录