# Details # There is also a command line version of Npackd. It is called NpackdCL and you can install it using Npackd. The internal package name is com.googlecode.windows-package-manager.NpackdCL. NpackdCL follows the versioning scheme of Npackd. It means for example that NpackdCL 1.15.6 uses the same code as Npackd 1.15.6. First number in the version only changes if there are incompatible changes. Version 1 of the NpackdCL package always has `npackdcl.exe` in the root directory. Execute `npackdcl.exe help` to get the list of command line parameters. Since 1.19 `ncl.exe` is distributed in the root directory with exactly the same options as `npackdcl.exe` in order to reduce typing. # Examples # The following command would install the latest available version of Python: ``` npackdcl.exe add -p org.python.Python ``` You can also use the short package name if it is unique: ``` npackdcl.exe add -p Python ``` This is how to install a particular version of Notepad++: ``` npackdcl.exe add -p notepadpp64 -v 7.8.5 ``` Install the newest Java 7: ``` npackdcl.exe add -p com.oracle.JRE64 -r [7,8) ``` The following command would remove the newest installed version of CMake: ``` npackdcl.exe rm -p CMake ``` Search for C++ related packages: ``` npackdcl search -q C++ ``` List all available packages: ``` npackdcl search ``` # List of options for NpackdCL # ``` ncl 1.25 - command line interface for the Npackd software package manager Usage: ncl [global options] [options] Available commands in alphabetical order: ncl add (--package [--version | --versions ])+ [--file ] [--user ] [--password ] [--proxy-user ] [--proxy-password ] installs packages. The newest available version will be installed, if none is specified. ncl add-repo --url appends a repository to the system-wide list of package sources ncl build --package [--version | --versions ]) --output-package build a package from another one (e.g. a binary from source code) ncl check checks the installed packages for missing dependencies ncl detect [--user ] [--password ] [--proxy-user ] [--proxy-password ] download repositories and detect packages from the MSI database and software control panel ncl info --package [--version ] [--bare-format | --json] shows information about the specified package or package version ncl install-dir [--bare-format | --json] prints the directory where packages will be installed ncl list [--bare-format | --json] lists package versions sorted by package name and version. ncl list-repos [--bare-format | --json] prints the system-wide list of package sources (repositories) ncl help prints this help ncl path (--package [--version | --versions ])+ [--cmd | --json] searches for installed packages and prints their locations ncl place --package --version --file [--bare-format | --json] registers a package version installed without Npackd ncl remove|rm (--package [--version ])+ [--end-process ] removes packages. The version number may be omitted, if only one is installed. ncl remove-scp --title remove a program for the Software Control Panel by title ncl remove-repo --url <repository> removes a repository from the system-wide list of package sources ncl set-repo (--url <repository>)+ changes the system-wide list of package sources (repositories) ncl search [--query <search terms>] [--status installed | updateable | all] [--bare-format | --json] full text search. Lists found packages sorted by package name. All packages are shown by default. ncl set-install-dir [--file <directory>] changes the directory where packages will be installed. The default directory for program files is used if the --file parameter is missing. ncl update (--package <package> [--versions <versions>])+ [--end-process <types>] [--install] [--keep-directories] [--file <installation directory>] [--user <user name>] [--password <password>] [--proxy-user <proxy user name>] [--proxy-password <proxy password>] updates packages by uninstalling the currently installed and installing the newest version. ncl where --file <relative path> [--bare-format | --json] finds all installed packages with the specified file or directory ncl which --file <file> [--bare-format | --json] finds the package that owns the specified file or directory Global options: -d, --debug turn on the debug output -l, --local install packages for the current user instead of system-wide -n, --non-interactive assume that there is no user and do not ask for input Options: -b, --bare-format bare format (no heading or summary) -c, --cmd output a .cmd script -e, --end-process list of ways to close running applications (c=close, k=kill, s=disconnect from file shares, d=stop services, t=send Ctrl+C). The default value is 'c'. -f, --file file or directory -i, --install install a package if it was not installed -j, --json json format for the output -k, --keep-directories use the same directories for updated packages -p, --package internal package name (e.g. com.example.Editor or just Editor) -q, --query search terms (e.g. editor) -r, --versions versions range (e.g. [1.5,2)) -s, --status filters packages by status -t, --timeout timeout in seconds -u, --url repository URL (e.g. https://www.example.com/Rep.xml) -v, --version version number (e.g. 1.5.12) --user user name for the HTTP authentication --password password for the HTTP authentication --proxy-user user name for the HTTP proxy authentication --proxy-password password for the HTTP proxy authentication --title package title or a regular expression in JavaScript syntax. Example: /PDF/i --output-package internal package name (e.g. com.example.Editor or just Editor) You can use short package names, e.g. App instead of com.example.App. The process exits with the code unequal to 0 if an error occures. If the output is redirected, the texts will be encoded as UTF-8. See https://github.com/tim-lebedkov/npackd/wiki/CommandLine for more details.