在执行快捷方式(.lnk)之前执行批处理文件

时间:2015-06-22 19:16:13

标签: windows batch-file lnk

我有一个名为Siemens NX的程序的多个版本。 NX使用环境变量进行配置。我需要NX 10.0使用一组不同于我使用系统环境变量的NX 7.5的环境变量。因此,我编写了一个批处理文件来设置我需要的环境变量。但是,NX 10.0有很多不同的程序。我不想为每个程序创建一个批处理文件。相反,我只想修改快捷方式(.lnk)以在启动之前执行批处理文件。例如,这可以通过

轻松完成
C:\Siemens\NX10\UGII\setup_NX10_environment.bat && C:\Siemens\NX10\UGII\ugraf.exe -nx

但是,命令窗口保持打开状态。如何调用批处理脚本并关闭然后调用我的程序?

2 个答案:

答案 0 :(得分:2)

为您的批处理脚本提供带有参数的程序,如下所示

list indices must be integers, not str

并按如下方式改进该批次:

C:\Siemens\NX10\UGII\setup_NX10_environment.bat "C:\Siemens\NX10\UGII\ugraf.exe" -nx

rem all the original setup_NX10_environment.bat stuff here
%*
exit

rem all the original setup_NX10_environment.bat stuff here
call %*
exit

答案 1 :(得分:2)

如果你像这样调用可执行文件,控制台窗口可能会保持打开状态:

executable.exe

但是,将start添加到可执行文件中会将其从控制台中分离出来。 因此,如果您调用可执行文件,控制台将不会保持打开状态:

start executable.exe

总之,按如下方式重写命令:

C:\Siemens\NX10\UGII\setup_NX10_environment.bat && start C:\Siemens\NX10\UGII\ugraf.exe -nx