我正在使用 FileMaker Pro,并且希望能够在 Windows 资源管理器中打开一个文件夹,尽管文件夹路径尚未 100% 完整。
我们有一个 Contracts 驱动器,我们的工作保存在其中 = X:\,该文件夹中有大约 100 个文件夹,所有文件夹都以唯一编号开头,但编号后面还有工作描述。我想从 FMP 发送命令,打开给定编号的文件夹(例如 X:\1234*)。
从 FMP 我可以使用可以运行命令提示符的发送事件函数。它还可以运行 BAT 文件。我现在有这个:
"cmd /c explorer Y:" & Jobs::JobNumber & "*"
(引号中的部分是文字,外面返回存储在字段中的值)
但这只会在“我的电脑”中打开资源管理器。所以我需要一种方法来根据作业编号找到完整的文件夹路径,然后打开该完整的文件夹路径。
任何帮助都非常感谢。谢谢
答案1
在cmd
它由单个命令来解释通配符,并且explorer
不这样做。当使用无效目录名称启动时,explorer
将从默认目录启动,正如您所观察到的。
您可以cmd
使用语句来扩展通配符for
,如下所示:
for /d %d in (X:\1234*) do explorer %d
因此,您的运行字符串需要使用类似以下内容来创建:
"cmd /c for %d in (Y:\" & Jobs::JobNumber & "*) do explorer %d"
我不知道 FileMaker Pro 如何调度系统命令,但您可能需要将符号加倍%
,就像在批处理文件中一样。如果展开的目录名称中有空格,则需要在参数周围生成引号explorer
。
答案2
在cmd中,最简单的方法如下:
首先,使用 CD 导航到所需文件夹。您可以使用TAB自动完成名称,如果有更多匹配项,请多次按下该按钮,直到找到正确的名称。
到达那里后,您只需键入以下命令即可从当前路径打开资源管理器窗口:
start .
因此,对于您的脚本,它将会是这样的:
x:
cd & Jobs::JobNumber
start .
同样,如果您在资源管理器中并想要从该位置启动命令提示符,请转到地址栏,而不是在地址栏中,只需键入 cmd 并按 Enter 即可。