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

Execute a batch file before executing in a shortcut (.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

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

按如下方式为您的批处理脚本提供带有参数的程序

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

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

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

executable.exe

但是,在可执行文件前面添加 start 会将其与控制台分离。 因此,如果您这样调用可执行文件,控制台将不会保持打开状态:

start executable.exe

总之,重写你的命令如下:

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