お世話になっております。
当方、現在ローカルサーバのフォルダにアクセスし、
その中に存在する複数のファイルをSFTP通信を用いて
別サーバのフォルダへアップロード(コピー)する処理を作っております。
環境はC#とVisualStudio2017
コンソールアプリケーションです。
ローカルサーバのフォルダ内には、アップロード対象となるファイルとそうでない
ファイルがありますので、アップロード対象となるファイルのみを抽出した
リスト(表現が曖昧で申し訳ありません。)を作成して、
そのリストを元に1ファイルずつアップロード処理を行いたいのですが、
そのリストを作る方法が思い浮かびません。
SFTP通信はSSH.NETを使用してます
C#
1 private ConnectionInfo conn; 2 3 //接続先情報作成 4 //接続先とユーザID、秘密鍵ファイル、パスワードを元に接続情報を作成 5 var authMethod = new PrivateKeyAuthenticationMethod(ユーザ名, new PrivateKeyFile(秘密鍵ファイル, パスフレーズ)); // 認証はユーザーIDと秘密鍵ファイルとパスフレーズで行う 6 conn = new ConnectionInfo(サーバ名, 22, ユーザ名, authMethod); // 接続先、使用ポート、ユーザーID、↑の認証 で接続情報を作成 7 8 //接続準備 9 using (var sftp = new SftpClient(conn)) 10 { 11 //接続開始 12 sftp.Connect(); 13 14 //ローカルサーバのディレクトリ情報 15 var di = new DirectoryInfo(ローカルサーバのフォルダパス); 16 17 //.zipで抽出 18 FileInfo[] files = di.GetFiles(".zip", SearchOption.AllDirectories); 19 20 //アップロード対象となるファイルを格納するリストの元作成(ここから不明) 21 22 //アップロード対象ファイルのリストに追加する処理 23 foreach (var items in files) 24 { 25 //ここでitemsの中身を作成したリストに追加していきたい 26 } 27 28 //ここから作成したリストを元にアップロード処理の予定 29 30 //切断 31 sftp.Disconnect(); 32 }
まだまだ初心者のため、間違っている点が多いかと思いますが、
皆様の知恵をお貸しください。よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー