如何使用.bat 通过批处理配置程序打开文件类型?

如何使用.bat 通过批处理配置程序打开文件类型?

我正在尝试修改前任的工作以改善我们的工作流程。他使用 *.bat 文件和 *.exe 的快捷方式来配置然后启动我们严格控制的工程软件。这对于启动程序非常有用,但这意味着我们无法将该软件设置为打开文件类型的默认程序。这意味着我们总是必须通过工程软件的 GUI 打开文件,而 GUI 缺乏排序和搜索功能(对于包含数千个工程零件的文件夹来说,这一点至关重要)。

因此,目前的快捷方式是:%Sharedrive1%\bin\licenseconfig.bat engrCAD.exe

我想也许engrCAD.exe从 .bat 开始可以让我将 .bat 用作默认编辑器,方法是创建一个ConfigNLaunchEngrCAD.bat包含原始 .bat 内容以及 .batstart "" engrCAD.exe文件末尾内容的 .bat。这可以直接从 .bat 打开程序,但当我尝试通过 ConfigNLaunchEngrCAD.bat 打开 engrCAD 中的文件时,仍然无济于事。

我认为我需要做的是使批处理脚本能够将文件名作为参数并将其传递给 CAD 软件。但我找不到如何实现这一点。我是否可以将参数添加到启动命令中以接受所选的文件名和目录?或者我应该使用其他命令来完成此操作?

非常感谢,朋友们。

编辑

我很难看出它与另一个问题的相似之处。我正在寻找一种方法,在通过 Windows 运行 .bat 配置后的 exe,以便将其设置为特定文件类型的默认程序。另一篇文章在关键字“传递参数”方面有相似之处,但其他方面几乎没有共同之处。如果我错了,我很抱歉,但我可能需要更多的帮助才能看到另一种解决方案如何适用于这种情况。

问题更相似,但不是在 cmd 提示符中输入文件名,而是希望它能够从我这里获取文件路径,在以 .bat 作为默认程序的 Windows 中打开文件。

答案1

我在办公室做过类似的事情,我们的软件也有传统的批处理文件许可证分发。根据您处理的文件类型数量以及是否在其他程序中使用它们,此解决方案可能适合您。顺便说一句,我从未听说过这些 CMD 工具,但我很高兴现在知道了它们。

这是我找到的答案的纯文本,链接如下:

使用 Ftype 和 Assoc 来修复这个问题(并且它是可编写脚本的)。

使用 Assoc 获取文件类型

>Assoc .txt

给你:

.txt = txt文件

然后

>Ftype txtfile=C:\Program Files (x86)\Notepad++\notepad++.exe %1

一旦知道文件类型,您就可以使用 Ftype 将其与操作关联。

这对 .php 文件有效(只需将它们放入批处理文件中)

Assoc .php=phpfile
Ftype phpfile="C:\Program Files (x86)\Notepad++\notepad++.exe" %1

您可以复制这些行来根据需要添加其他基于文本的文件。

以编程方式将文件扩展名与 Windows 上的应用程序关联

答案2

哈哈,我解决了!我仍然不知道自己在做什么,但经过多次尝试和错误后,我做到了以下几点:

在.bat的开头,我添加了:Set var1=%1 Set var2=%2

在 .bat 的末尾,我更改了“Start "" engrCAD.exe”以删除 Start 并仅运行 .exe:engrCAD.exe %var1% %var2%

我相信在添加 var1 后拖放功能可以正常工作,因为文件位置和名称是传递给 .exe 的第一个参数。显然,当通过默认程序关联打开文件时,文件名/位置不是第一个参数?因此,添加 var2 使其在两种情况下都有效。

任何真正知道发生了什么事情的人......请随意评论并纠正我的解释。

相关内容