如果LatestExcel.bat
包含以下内容,单击它会产生您想要的效果。
@echo off
if exist "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" GOTO L2007
if exist "C:\Program Files\Microsoft Office\Office11\EXCEL.EXE" GOTO L2003
echo "Excel not installed"
pause
GOTO End
:L2007
Call "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE"
GOTO End
:L2003
Call "C:\Program Files\Microsoft Office\Office11\EXCEL.EXE"
:End
替代解决方案
CALL
,我在第一个解决方案中使用,将控制权交给另一个批处理文件或程序,但在该批处理文件或程序完成后收回控制权。这就是为什么CMD.EXE
保持活跃。我以为我记得一个切换控制的批处理命令,但我找不到它;我一定在考虑另一种脚本语言。
顺便提一句。如果您使用 Google 搜索“Windows 批处理文件命令”,您会看到一系列网站,这些网站提供批处理文件命令的教程或语法。但是,我通常使用命令Help
Pause
或Help Copy
Pause
.
对于这个解决方案,我创建了两个快捷方式,一个用于 Excel 2003,一个用于 Excel 2007,并将它们放置在 Temp 中。PickLatestExcel.bat
我使用以下语句创建了批处理文件。我在常规文件夹和桌面上尝试了它,在这两种情况下它都移动了正确的快捷方式文件并重命名了它Excel
。
我不知道您的操作环境,但也许这两个解决方案会让您了解使用批处理文件可以实现什么。
rem @echo off
if exist "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" GOTO L2007
if exist "C:\Program Files\Microsoft Office\Office11\EXCEL.EXE" GOTO L2003
echo "Excel not installed"
pause
GOTO End
:L2007
Copy "C:\Windows\Temp\Excel2007.lnk" Excel.lnk
GOTO End
:L2003
Copy "C:\Windows\Temp\Excel2003.lnk" Excel.lnk
:End