2

Я пытаюсь изменить работу предшественника, чтобы улучшить наш рабочий процесс. Он использовал ярлык для файла * .bat и * .exe для настройки, а затем запустил наше строго контролируемое инженерное программное обеспечение. Это прекрасно работает для запуска программы, но это означает, что мы не можем установить программное обеспечение как программу по умолчанию для открытия типа файла. Это означает, что мы всегда должны открывать файлы через графический интерфейс инженерного программного обеспечения, в котором отсутствуют возможности сортировки и поиска (что особенно важно в папках с тысячами инженерных компонентов).

Поэтому в настоящее время ярлык идет по адресу : %Sharedrive1%\bin\licenseconfig.bat engrCAD.exe

Я подумал, что, возможно, запуск engrCAD.exe из .bat позволит мне использовать .bat в качестве редактора по умолчанию, создав файл .bat ConfigNLaunchEngrCAD.bat котором находится содержимое исходного .bat плюс start "" engrCAD.exe до конца. файла .bat. Это сработало при открытии программы прямо из .bat, но все равно ни к чему не приводит, когда я пытаюсь открыть файл в engrCAD через ConfigNLaunchEngrCAD.bat.

Я думаю, что мне нужно сделать, чтобы пакетный скрипт мог взять имя файла в качестве параметра и передать его в программное обеспечение САПР. Но я не могу найти, как это реализовать. Это параметр, который я могу добавить к команде запуска, чтобы принять имя файла и выбранный каталог? Или я должен использовать другую команду все вместе, чтобы выполнить это?

Очень благодарен, друзья.

РЕДАКТИРОВАТЬ

У меня не получается увидеть сходство с другим вопросом. Я ищу способ запустить exe-файл после конфигурации .bat через windows, который позволит ему установить его в качестве программы по умолчанию для определенного типа файлов. Другой пост имеет сходство в ключевых словах "параметры передачи", но мало общего. Если я ошибаюсь, извините, но мне может понадобиться дополнительная помощь, чтобы понять, как другое решение применимо к этой ситуации.

Этот вопрос более похож, но вместо того, чтобы вводить имя файла в командной строке cmd, я хочу, чтобы он мог получить путь к файлу от меня, открывая файл в Windows с .bat в качестве программы по умолчанию.

2 ответа2

2

Я сделал что-то подобное в моем офисе, у нас также есть унаследованный дистрибутив лицензии на обработку пакетных файлов для нашего программного обеспечения. В зависимости от количества типов файлов, с которыми вы имеете дело, и от того, используете ли вы их в других программах, это решение может подойти вам. Для протокола, я никогда не слышал об этих инструментах CMD, но я очень рад, что знаю о них сейчас.

Вот открытый текст ответа, который я нашел, ссылка ниже:

Используйте Ftype & Assoc, чтобы исправить это (и это можно использовать в сценариях).

Используйте Assoc, чтобы получить тип файла

>Assoc .txt

дает тебе:

.txt = txtfile

затем

>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

0

Ха-ха, я решил это! Я до сих пор не знаю, что я делаю, но вот что я сделал после долгих проб и ошибок:

В начале .bat я добавил: Set var1 =% 1 Set var2 =% 2

В конце .bat я изменил «Start» «engrCAD.exe», чтобы удалить Start, и просто запустил .exe: engrCAD.exe% var1%% var2%

Я считаю, что перетаскивание сработало после того, как я добавил var1, потому что местоположение файла и имя были первым параметром, переданным в .exe. Видимо, при открытии файла с помощью ассоциации программы по умолчанию имя файла / местоположение не являются первым параметром? Таким образом, добавление var2 позволило работать в обоих случаях.

Любой, кто на самом деле знает, что происходит ... не стесняйтесь комментировать и исправлять мою интерпретацию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .