USB キーでパートナーにドキュメントを配布する必要があります。サーバー上でいくつかのドキュメントが更新されているかどうかを確認し、メモリ スティック上のファイルの同期を続行するソフトウェアの開発を依頼されました。
将来的に改善したい場合に備えて、ソフトウェア自体にも自動更新機能が必要です。
どこから始めるべきだと思いますか?
USB キーでパートナーにドキュメントを配布する必要があります。サーバー上でいくつかのドキュメントが更新されているかどうかを確認し、メモリ スティック上のファイルの同期を続行するソフトウェアの開発を依頼されました。
将来的に改善したい場合に備えて、ソフトウェア自体にも自動更新機能が必要です。
どこから始めるべきだと思いますか?
Pythonをお勧めします...実行可能ファイルを作成するか、USB自体にインストールできます(大きくはありません)。再コンパイルの必要がないため、その場で改善できるという大きな利点があります。Pythonは、このような小さなタスクに最適です。
大きな利点は、プラットフォームの独立性です。
まあ、それは明らかにあなたが展開している環境とあなたが個人的に何を扱ってきたかに依存します。ドキュメントがたくさんあり、GUIを使用してWindowsアプリを迅速にデプロイできるようになるため、すぐにC#に傾倒します。ただし、これがUnix環境の場合、これは単純なシェルスクリプトで実行できると確信しています。
サーバーと通信する簡単な方法がある限り、あなたが最も慣れていて、最も熟練している言語は何でも構いません。(サーバーが Web サーバーの場合、それはおそらく問題ではありません)
これはWindows用だと思います。ユーザーが既に .Net をインストールしていることを確認できない場合を除き、C# は優れた選択肢です。それ以外の場合は、ネイティブの実行可能ファイルを簡単に作成できる Delphi を使用します。実行中の EXE ファイルはそれ自体を置き換えることができないため、使用する言語に関係なく、自動更新機能は面倒です。プログラムの機能のほとんどは、その場で更新できる個別の DLL として実装できますが、コア EXE 自体を更新する必要がある場合でも、SOL のままです。
Cygwin には Windows 用の Rsync が存在します。サーバーが ssh をサポートしている場合は、公開鍵インフラストラクチャで ssh もサポートします。これは、データを同期するための非常に安全で簡単な方法です。
Microsoft Sync Frameworkを調べます。「ファイル同期の概要」セクションを参照してください。「...同期フレームワークを使用して、デスクトップとデバイス間でファイルを効率的に移動します。」
プロジェクトで「Sync Services for ADO.Net」(フレームワークの一部) を使用して、ローカルの SQL Express データベースをメインの SQL Server データベースと同期させたところ、時間を大幅に節約できました。
バッチファイルで十分です。私は単純なもので同様のものを解決しました。別のオプションは、ほとんど依存関係のない小さな「コンパイル済み」プログラムを作成できる基本的な言語のような AutoIt のスクリプトです。実行可能ファイルを USB デバイスにコピーして、そこから実行するだけです。
これが Windows であると仮定すると、USB デバイス上の次のバッチ ファイルから開始します: xcopy /diyc 。$サーバーパス
おそらくそれで十分ですか?
フラグの説明:
/D Copies only those files whose source time is newer than the destination time.
/I If destination does not exist and copying more than one file, assumes that destination must be a directory.
/C Continues copying even if errors occur.
/Y Suppresses prompting to confirm you want to overwrite an existing destination file.