2 つのファイル共有に接続し、データ フィード用にいくつかのファイルをコピーする必要があるジョブがあります。
ソース サーバーはドメインのネットワーク上にあり、正常に動作します。ただし、リモートサーバーは私を窒息させ、「パスの一部が見つかりませんでした」というエラーをスローします。送信先サーバーが送信元サーバーとは異なるドメインにあることを追加する必要があります。
ソースと宛先のパスは app.config ファイルから読み取られます。
ドライブの永続的なマッピングが機能すると思っていましたが、これはスケジュールされたタスクであるため、機能していないようです。NET USE を使用することも考えましたが、それはユーザー名とパスワードを取得するのが好きではないようです。
本当に奇妙なことに、マシンにログインしているときにジョブをダブルクリックすると、正常に実行されます。
サンプルコード:
DirectoryInfo di = new DirectoryInfo(srcPath);
try
{
FileInfo[] files = di.GetFiles();
foreach (FileInfo fi in files)
{
if(!(fi.Name.Contains("_desc")))
{
Console.WriteLine(fi.Name + System.Environment.NewLine);
File.Copy(fi.FullName, destPath + fi.Name, true);
fi.Delete();
}
}
}
明らかに、これはファイルをコピーするほど単純ではありません。C# 4.0 で資格情報を使用してドライブをマッピングすることに関する提案はありますか?
編集
プログラムの実行中にドライブをマップするコンソール アプリケーションから呼び出されるバッチ ファイルを使用しようとしています。それが朝にうまくいくかどうか、私は確かに知っています。