私は最初にローカルに保存された文書を作成するプログラムを持っています。その後、それらをネットワークフォルダに送信します。拡張子を取り除いてファイルの名前を変更する
ラップトップでのユーザーのアクセス許可のため、ローカルドライブを削除できません。したがって、プログラムはそれらをコピーします。ローカルパーミッションが変更されたことを期待して、ローカルパーミッションを変更しようとすると、そのパーミッションを移動しようとします。失敗すると、それをコピーします。
foreach (var file in Directory.GetFiles(Properties.Settings.Default.MasterCopies, "*.xml"))
{
x = x + 1;
try
{
try
{
string NetworkPath = XMLWork.XMLGetElement(@"D:\\" + Properties.Settings.Default.currentUser + "\\Digital Statements\\App_Data\\User\\" + Properties.Settings.Default.currentUser + ".wit", "NetworkMasters");
string FileName = Path.GetFileName(file);
string FilePath = NetworkPath;
File.Move(file, Path.Combine(FilePath, FileName));
}
catch
{
}
}
catch
{
try
{
string NetworkPath = XMLWork.XMLGetElement(@"D:\\" + Properties.Settings.Default.currentUser + "\\Digital Statements\\App_Data\\User\\" + Properties.Settings.Default.currentUser + ".wit", "NetworkMasters");
string FileName = Path.GetFileName(file);
string FilePath = NetworkPath;
File.Copy(file, Path.Combine(FilePath, FileName));
}
catch
{
}
}
e.Result = x;
MasterBackups.ReportProgress(x);
}
私は、プログラムがすでに処理したファイルを常に試してコピーしないようにします。私はこれが最も簡単な方法は、ファイル拡張子 ".xml"をファイルから削除して、ネットワークにコピーした後、次の実行時にファイルが表示されないようにすることだと考えています。
これを達成するには - プログラムに "Test.xml"が表示され、ネットワークにコピーしてローカルコピーの名前を "Test"に変更しますか?
EDIT - ローカルでファイルの名前を変更できますが、移動または削除できません。パーミッションはIT部門によって設定されています。なぜなら、このように設定されている理由はわかりませんが、それはそうです!
ファイルを削除できない場合は、名前を変更できません。 – Equalsk
ここではいくつのファイルについて話していますか? – Steve
削除が失敗するという事実は、ファイルが読み込み専用であることを意味します。名前を変更することはできません。 –