3

Строки ниже в пакете, который я запускаю, DW_ETL.bat

net use K: /DELETE /yes
net use K: \\SERVEUR-GPAO\Group_share /yes
start "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" "K:\BI\Etl\DW_ETL.mdb"

Как видно на рисунке ниже, двоичные файлы доступа установлены в нужном месте, например, C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.exe

Тем не менее каждый раз, когда я запускаю скрипт, у меня появляется ошибка ниже

Он говорит, что Windows cannot open the file because it did not recognize the type of file

Но когда я открываю файл mdb из Access , он может открыть базу данных.

И последнее, когда я запускаю скрипт от другого пользователя на той же машине, скрипт может работать отлично.

Любые идеи более чем приветствуются.

2 ответа2

3

Одна проблема заключается в том , что начало использует первый аргумент в двойные кавычки , как заголовок окна.
Смотри start /? и используйте пустую пару, чтобы обойти это.

net use K: /DELETE /yes
net use K: \\SERVEUR-GPAO\Group_share /yes
start "" "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" "K:\BI\Etl\DW_ETL.mdb"
2

Вам необходимо заново связать файлы .mdb с соответствующим двоичным файлом после того, как вы переставили диски.

https://superuser.com/a/29801/38001 - лучшее объяснение того, как это сделать с помощью командной строки, я не буду повторять весь ответ здесь.

Короче

FTYPE MyCustomType=C:\Program Files\MyCustomProgram\MyProg.exe "%1"
ASSOC .custom=MyCustomType

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