新创建的用户的问题 - 程序无法识别的文件类型


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

enter image description here

然而,每次我运行脚本时,我都会出现以下错误

enter image description here

它说 Windows cannot open the file because it did not recognize the type of file

但是当我从中打开mdb文件时 Access,它可以打开数据库。

最后,当我在同一台机器上运行来自不同用户的脚本时,脚本可以完美运行。

任何想法都受到欢迎。


你指定整个访问路径的任何特殊原因?一般来说,文件类型关联存在,所以你可以说 start /path/to/doc.ext 让系统弄清楚其余部分。您是否正在使用必须在特定版本中运行的多个版本的访问和mdb?
Frank Thomas

Answers:


3

一个问题是start使用双引号中的第一个参数作为窗口标题。
看到 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

你可能是对的,但是网络映射与文件类型与msaccess.exe的安装时关联有什么关系呢?
Frank Thomas

@FrankThomas,我不知道,我认为msaccess.exe的预先存在的路径可能是已删除的现有网络驱动器。
djsmiley2k
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.