画像を変更できるアプリがあります。場合によっては、これによりファイルサイズが小さくなり、場合によっては大きくなります。
プログラムには、「結果のファイルサイズが大きい場合、ファイルを置き換えない」というオプションがありません。
そこで、これを解決するために小さな C# アプリを作成しました。
ファイルを上書きする代わりに、アプリに結果を現在のフォルダーの下のフォルダーに書き込み、そのフォルダーに Test という名前を付けます。
私が作成した C# アプリは、両方のフォルダーの内容を比較して取得し、ファイルへのフル パスを 2 つの List オブジェクトに配置します。次に、比較して置き換えます。
ただし、交換は機能しません。次の IOException が発生します。
置換するファイルを削除できません
場所は、私が完全な権利を持っている外付けハードドライブにあります。
File.Delete と File.Move をこの順序で実行できることはわかっていますが、この例外により、この特定のセットアップが機能しない理由に興味を持ちました。
ソースコードは次のとおりです: http://pastebin.com/4Vq82Umu
はい、Replace 関数の最後の引数として指定されたファイルは存在します。