大きなファイルを操作する際の選択肢
日付 | 2007/07/23 |
---|---|
ID | 46396 (英語原文参照) |
バージョン | 2004 |
プラットフォーム | Mac & Win |
この記事は、最新ではないバージョンに関連した方法について解説しています。
最新のバージョンでは推奨されていないか、または他の方法で簡単に実現できる可能性があります。
大きなファイルをローカルでコピーを行ったり、他のマシンへ移動するなどという操作は、しばしば行われます。こうした操作を行う選択肢の幅をOSのコマンドにも広げておくのは、有意義なことです。
MacOS XおよびWindows上の4th DimensionではLAUNCH EXTERNAL PROCESSコマンドで外部プロセスを起動することが出来ます。これを利用して次のような方法で、ローカルファイルシステムにある大きなファイルを操作できます。
コピーの方法例(MacOS):
LAUNCH EXTERNAL PROCESS("cp /path/to/source/file /path/to/target/file")
コピーの方法例(Windows):
LAUNCH EXTERNAL PROCESS("copy /path/to/source/file /path/to/target/file")
移動の方法例(MacOS):
LAUNCH EXTERNAL PROCESS("mv /path/to/source/file /path/to/target/file")
移動の方法例(Windows):
LAUNCH EXTERNAL PROCESS("move /path/to/source/file /path/to/target/file")
削除の方法例(MacOS):
LAUNCH EXTERNAL PROCESS("rm /path/to/source/file /path/to/target/file")
削除の方法例(Windows):
LAUNCH EXTERNAL PROCESS("del /path/to/source/file /path/to/target/file")
リモートシステムにある大きなファイルを取り出すには、次のような方法で行うことも出来ます。
scpコマンドの利用例(MacOS):
LAUNCH EXTERNAL PROCESS("scp localfile username@ftp.4d.com:.")
コマンドの最後尾の '.' に注目してください。これは誤りではなく必要なものです。(詳細はscpコマンドマニュアル参照:man scp)
Windowsにはscpコマンドはありません。scpを実行するにはサードパーティ製ユーティリティが必要になります。
似たような方法としてFTPコマンドを利用して、リモートシステムにある大きなファイルを取り出すこともできます。
FTPコマンドの利用例(MacOS/Windows):
LAUNCH EXTERNAL PROCESS("ftp ftp://user:password@host/path")
ファイルを操作する方法を色々と紹介させていただきましたが、LAUNCH EXTERNAL PROCESSコマンドを使う方法でお勧めは「cURL」を使う方法です。cURLはURLシンタックスでファイルの操作を行うためのコマンドラインツールで、FTP、FTPS、HTTP、HTTPS、SCP、SFTP、TFTP、TELNET、DICT、FILE 等をサポートします。詳しく言えば、SSL暗号化通信によるHTTP POST、HTTP PUT、FTPアップ/ダウンローデイング(再接続も可能)、プロキシ、クッキー、ユーザ/パスワード認証(Basic, Digest, NTLM, Negotiate, kerberos...)等、ありとあらゆる方法が利用できます。詳細は、cURLのホームページを参照してください。
cURLホームページ:
http://curl.haxx.se/docs/manpage.html
HTTPのcURLを用いた操作に関するTech Note:
/TechNote/277/
4D Internet CommandsプラグインのFTPコマンド:
http://www.4d.com/docs/ICU/ICU00006.HTM