今回の記事はC#開発で社内ネットワークなどのネットワーク共有フォルダでファイル操作を行う方法に関してご紹介します。Windowsサーバの場合で解説します。使用するライブラリは「SharpCifs.Smb」です。Macサーバの場合の手法に関してもご紹介するので是非参考にしてみて下さい。
ネットワーク共有フォルダでのファイル操作
ネットワーク共有フォルダでのファイル操作には「SharpCifs.Smb」を使用します。Macの場合は「smblibrary」を使用します。こちらNugetで追加できるので追加しましょう。検索で2つ出てきますが、どちらでもOKです。
ファイル操作はファイルをストリームに変換してファイルコピーや移動させることができます。
ではファイルの取得に関してご紹介します。
「SharpCifs.Smb」でファイルを取得する
using System;
using SharpCifs.Smb;
namespace Networksharefolder_test
{
class Program
{
static void Main(string[] args)
{
//PCログインアカウント
string my_account = "自身で設定したアカウント";
string my_password = "自身で設定したアカウントのパスワード";
var auth = new NtlmPasswordAuthentication($"{my_account}:{my_password}");
var smb = new SmbFile("smb://[IPアドレス]/[フォルダあれば]/", auth);
foreach (SmbFile item in smb.ListFiles())
{
string name = item.GetName();
Console.WriteLine(name);
}
}
}
}
IPアドレスとPCのアカウントとパスワードは自身の環境のものに書き換えて下さい。
では今回の記事は以上です。他にもC#関連の記事を記載しているので是非そちらも参考にしてみて下さい。
コメント