Tips

プラグインなしでZIPファイルを扱う

日付2018/12/04
ID18-009
バージョンv17
プラットフォームWindows

Windows 10 バージョン1709以降からは、コマンドラインからtarが利用できるようになりました。これまでプラグインに頼るしか方法がなかったWindowsでも、ZIPファイルをLAUNCH EXTERNAL PROCESSコマンドを通して取り扱うことができます。

ただし、tarコマンドは64ビットでビルドされているので、32ビットのアプリケーションからは呼び出すことができません。4Dの場合も同様ですので、64ビット版4Dの利用が必須になります。

次のコードは、ZIPファイルを指定したフォルダに展開する例題になります。

C_TEXT($path_file;$path_folder)
$path_file:="C:\\Users\\ユーザー名\\ファイル名.zip"//展開するZIPファイル
$path_folder:="C:\\Users\\ユーザー名\\フォルダ名" //展開先フォルダ

C_TEXT($command;$inputStream;$outputStream;$errorStream)
C_LONGINT($pid)
$command:="cmd.exe /c tar -xf \""+$path_file+"\""
SET ENVIRONMENT VARIABLE ("_4D_OPTION_HIDE_CONSOLE";"true")
SET ENVIRONMENT VARIABLE("_4D_OPTION_CURRENT_DIRECTORY";$path_folder)
LAUNCH EXTERNAL PROCESS($command;$inputStream;$outputStream;$errorStream;$pid)