DC - 命令行

# 2.16. 命令行

## 内容

1. 简介
2. 可用参数
3. 示例

## 1. 简介

启动 Double Commander 可执行程序时，可以通过命令行参数自定义启动行为。

例如，可以指定在文件面板中显示的文件夹。

还有一些可用的开关（switch）。

这些开关不区分大小写。

下面是命令行语法的简要说明：

`doublecmd.exe [-C] [-T] [-P L|R] [path1\subpath1] [path2\subpath2]`

也可以使用下面的另一种形式：

`doublecmd.exe [-C] [-T] [-P L|R] [-L path1\subpath1] [-R path2\subpath2]`

注意：在 macOS 上命令行使用方式有些不同，使用 `open` 命令并通过 `-a "Double Commander"` 指定完整应用名，随后使用 `--args` 传递参数。对于第二个及后续实例，可加上 `-n`。

（返回顶部）

## 2. 可用参数

下面列出启动 Double Commander 时可使用的参数。

命令行参数
参数 | 说明
--- | ---
path1\sub1 [path2\sub2] （无开关，直接为路径） | 如果只传递一个路径，则在活动面板中加载该路径。 如果传递两个路径，则第一个路径加载到左侧面板，第二个加载到右侧面板。 若文件夹名包含空格，需使用双引号括起来。 建议始终指定完整路径名。
-C 或 --client | 如果 Double Commander 已在运行，则激活该实例并将命令行中的路径传递给该实例。
-L 文件夹 | 设置左侧面板要显示的文件夹。
-R 文件夹 | 设置右侧面板要显示的文件夹。
-P L|R | 设置程序启动时的活动面板： `-P L` 表示左侧 `-P R` 表示右侧
-T | 在新标签中打开传入的路径。
--config-dir=path | 指定自定义文件夹以存放 DC 的配置文件。
--servername=x | 设置实例（服务器）的名称，该名称可用于向该实例传递参数。 如果当前不存在该实例，则创建它。 如果已存在实例，且当前进程是客户端，则将参数发送到服务器（即已存在的实例）。 如果已存在实例，但当前进程不是客户端（例如“仅允许同时运行一个 DC 实例”未启用，且未给出 `--client`/`-c` 选项），则用户提供的 servername 会被修改：首先在末尾添加数字 "2"。 如果已经带有尾号，则将尾号加 1，直到找到未被占用的 servername，然后使用该名称创建新实例。
--no-splash | 禁用启动时的启动画面（splash 屏幕）。
--debug-log=file | 将 Double Commander 的调试输出写入指定文件。 使用的日志模块（Lazlogger）支持环境变量 `xxx_debuglog`，其中 `xxx` 为程序文件名（不含扩展名）；在本例中为 `doublecmd_debuglog`。如果该环境变量存在，其值指定的文件将被使用。 在 Linux 上，推荐在终端中运行并将输出（stdout 和 stderr）重定向到文件。

注意：如果指定的是完整文件名而不是文件夹，Double Commander 会打开该文件所在的文件夹并将光标定位到该文件。

（返回顶部）

## 3. 示例

下面列出若干通过命令行参数启动 Double Commander 时常见的用例示例。

在左侧面板打开文件夹 `e:\Xilinx\ISE DS`，在右侧面板打开文件夹 `c:\temp`：

    doublecmd.exe "e:\Xilinx\ISE DS" c:\temp

在已运行实例的活动面板中以新标签打开文件夹 `c:\Logs`：

    doublecmd.exe -c -t c:\Logs

以位于 `f:\Documents\DC\Job Settings` 的配置文件启动应用，并在标题栏中使用标识 `JOB`：

    doublecmd.exe --config-dir="f:\Documents\DC\Job Settings" --servername="JOB"

（返回顶部）