我需要能够运行一个批处理文件,在特定记录处打开 Access。我可以做到这一点,但现在我还需要在 32 位或 64 位系统上运行它。
我们公司采用多种系统。
这是我目前所拥有的:
if EXIST "C:\Program Files\Microsoft Office\root\Office16\MSACCESS.EXE"
GOTO x64
ELSE GOTO x32
:x64
start "" "C:\Program Files\Microsoft Office\root\Office16\MSACCESS.EXE" "K:\R&D Dept\Development Lab\R&D Test Request System (For testing and training)\DataBase\R&D Project Requests DB.accdb" /x mcrEmail /cmd 1912
:x32
start "" "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" "K:\R&D Dept\Development Lab\R&D Test Request System (For testing and training)\DataBase\R&D Project Requests DB.accdb" /x mcrEmail /cmd 1912
pause
我尝试运行 CMDebug 的试用版,当我点击 :x64 行时,我的程序运行了,但随后它也会点击 :x32 行。
当尝试通过单击将其作为批处理文件运行时,没有任何反应。我在 64 位系统 Windows 10 上运行 Access 2016。我的办公应用程序也是 64 位的。
不确定我做错什么了?
答案1
尝试这个:
@echo off
if EXIST "C:\Program Files\Microsoft Office\root\Office16\MSACCESS.EXE" GOTO x64
if EXIST "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" GOTO x32
echo No MSACCESS.EXE found - press key to exit
pause > nul
exit
:x32
start "C:\Program Files (x86)\Microsoft Office\root\Office16\MSACCESS.EXE" "K:\R&D Dept\Development Lab\R&D Test Request System (For testing and training)\DataBase\R&D Project Requests DB.accdb" /x mcrEmail /cmd 1912
GOTO finished
:x64
start "C:\Program Files\Microsoft Office\root\Office16\MSACCESS.EXE" "K:\R&D Dept\Development Lab\R&D Test Request System (For testing and training)\DataBase\R&D Project Requests DB.accdb" /x mcrEmail /cmd 1912
GOTO finished
:finished
echo normal script end
pause > nul
exit
关于您的访问参数,我没有改变任何内容,因为我不知道详细信息。
如果有帮助,或者您需要改进,请留下一些反馈。如果有帮助,请将其标记为已回答。