To offer maximum comfort and flexibility to developers, DEScoder provides a complete command line interface.
Thus, all main operations can be run using command line parameters. Both single file encryption and project compilation are available.

In generally, all switches can be specified using - or / indicators, switches are not case-sensitive, and there should be no extra space around the - and / indicators.



Common switches


-keep  or  /keep

this option forces to keep "intermediate" files after encryption;
during encryption, a number of internal files are created for several compression and encryption stages - normally, these files are deleted automatically;
for troubleshooting, if the encrypted Lisp does not work properly, but the original Lisp file does, those "intermediate" files can be kept for analysis;
normally, Lisp developers will not need to use this option


-nocompress  or  /nocompress

this option disables "Lisp Code Compression", which is by default active;
before encryption, the Lisp and DCL source file(s) are compressed to remove all unnecessary white-space characters and linefeeds;
for troubleshooting, if the compressed and encrypted Lisp / DCL does not work properly, but the original Lisp / DCL file does, this option can be used to disable compression, to ensure that the final Lisp / DCL code still works;
if such cases are encountered, please send us a sample file as feedback (as this indicates a program error) !


-dialog  or /dialog

this option forces DEScoder.exe to show the dialog, even if batch mode, or with any specified commandline option


Single File mode


-namespace  or  /namespace

this option enables the "VLX NameSpace" feature to be used for the specified file(s);
this option is only respected in "Single File Mode" (and not stored anywhere) - in "Project Mode" this feature status is defined + stored in the .prv project definition file.


there are no particular command line switches necessary for the source files !

any filename provided as command line argument is interpreted as Lisp source file by default; except for filenames using .prv;
filenames using .prv extensions are treated as project definition files;
=> if filename is an existing project filename, the project is compiled, creating target filename as defined by the project;
=> if filename is an existing Lisp file, the Lisp file is encrypted, creating .des filename in same folder as source file.


Wildcards are supported for Single File mode !

you can specify wildcards in usual way to encrypt a set of Lisp source files;



Project mode


-project  or  /project 

this option instructs DEScoder to treat the provided filename as the name of a project definition, regardless of the filename extension;
this option is only necessary, if the project filename is given without .prv extension, or when using an extension other than .prv;



Examples


Single file mode


DEScoder.exe  d:\Lisp\Dictionary.lsp

creates encrypted Lisp file d:\Lisp\Dictionary.des


DEScoder.exe  /namespace  d:\Lisp\Dictionary.lsp

creates encrypted Lisp file d:\Lisp\Dictionary.des with "VLX NameSpace" feature enabled


DEScoder.exe  d:\Lisp\Dictionary.src

creates encrypted Lisp file d:\Lisp\Dictionary.des


DEScoder.exe  d:\Lisp\Dict*.lsp

creates encrypted Lisp files *.des for all Lisp source files matching d:\Lisp\Dict*.lsp pattern


DEScoder.exe  /namespace  d:\Lisp\Dict*.lsp

creates encrypted Lisp files *.des for all Lisp source files matching d:\Lisp\Dict*.lsp pattern, and each file is encrypted with "VLX NameSpace" feature enabled


DEScoder.exe  -keep  d:\Lisp\Dictionary.lsp

creates encrypted Lisp file d:\Lisp\Dictionary.des and keeps intermediate files in same folder d:\Lisp\



Project mode


DEScoder.exe  d:\Lisp\Dictionary.prv

compiles the project d:\Lisp\Dictionary.prv and creates the encrypted target file as specified in project


DEScoder.exe  /keep  d:\Lisp\Dictionary.prv

compiles the project d:\Lisp\Dictionary.prv, creates the encrypted target file as specified in project and keeps intermediate files


DEScoder.exe  /project  d:\Lisp\Dictionary

compiles the project d:\Lisp\Dictionary.prv and creates the encrypted target file as specified in project;
as .prv filename extension is not specified, the /project option is necessary