调用外部程序
当你双击主窗口的文件(行), FreeFileSync 会调用默认的文件管理器:
Windows: | explorer.exe /select, "%local_path%" & exit 0 |
macOS: | open -R "%local_path%" |
Linux: | xdg-open "$(dirname "%local_path%")" |
你可以在这里设置或者整合外部程序,点击
菜单 → 工具 → 选项 → Customize context menu 增加或者替换相应的命令。
所有的行都可以使用
小键盘 0–9快速定位,或者使用右键点击之后下拉选项。
第一行选项 可以直接双击执行。
除了常规的
宏命令这些宏命令也是可用的:
宏命令 |
描述 |
%item_path% |
完整的文件或者文件夹路径 |
%local_path% |
为 SFTP 和 MTP 设备上的文件在本地建立一个临时目录。否则共用 %item_path% 目录。 |
%item_name% |
文件或文件夹名 |
%parent_path% |
父文件夹名 |
- 可以给宏命令加上 "2" 这个后缀代表另外一侧文件夹的路径(名字):
%item_path2%,
%local_path2%,
%item_name2%,
%parent_path2%.
- 在宏命令后面添加 "s" 后缀,可以创建选择的所有目标的列表,不同宏命令之间用英文空格间隔:
%item_paths%,
%local_paths%,
%item_names%,
%parent_paths%.
示例:
- 调用文件内容比较软件(WinMerge):
"C:\Program Files (x86)\WinMerge\WinMergeU.exe" "%local_path%" "%local_path2%"
macOS 上的 opendiff (需要 Xcode):
opendiff "%local_path%" "%local_path2%"
- 在 Windows Explorer 中显示文件:
explorer.exe /select, "%local_path%" & exit 0
备注
Explorer.exe 没有设置退出码,FreeFileSync 没有退出码 0 就会报错 exit code = 0 ("成功")。
为了避免这个问题,调用的 Explorer 的时候增加(& exit 0) 来指定退出码。
- 在命令行中打开所选项目:
start cmd.exe /k cd /D "%parent_path%"
备注
FreeFileSync 默认是隐藏命令行窗口的, start 会打开一个新的窗口。
cmd.exe /k 是不退出命令行窗口,继续执行后续命令。
cd 是进入文件夹, (/D)是进入 D 盘。
- 复制文件路径到剪贴板 (相当于按了 CTRL + C)
echo %item_path%| clip
- 把所选文件的路径列表写入到文本文档:
echo %item_path% >> %csidl_Desktop%\file_list.txt
- 使用 Quick Look 进行预览(macOS):
qlmanage -p "%local_path%"
- 使用宏指令向脚本传送选择文件列表:
C:\my-script.cmd "%local_paths%"
备注
如果宏命令的文件路径中有空格,这个路径需要用英文双引号包裹起来。