我已经创建了一个批处理文件,它会自动将.sql文件复制到安装的Jasper服务器的路径(可以是任何软件安装目录)。
这是我的批处理脚本
C:\PROGRA~2\JASPER~1.0\mysql\bin\mysql.exe -u根-proot < create_database.sql
这是工作时,贾斯珀安装在程序文件(X86)。如何将其推广到程序文件和程序文件(X86)。
发布于 2012-04-09 17:36:25
您希望使用环境变量来查找这样的内容。在32位Windows上,%ProgramFiles%是您的朋友。
在64位的视窗系统中,事情要复杂一些,因为应用程序可以在%ProgramFiles%和%ProgramFiles(x86)%中安装。
如果您不能通过其他方式查找Jasper的位置(注册表?安装程序设置?),最好的方法是在这两个位置都进行查找,然后选择您希望找到的那个目录。
编辑看到了nsis您正在创建安装程序吗?在这种情况下,常量$ProgramFiles可能会很有用。
发布于 2013-02-25 12:57:36
这里有一种方法,我从这个源码复制过来的:http://social.msdn.microsoft.com/Forums/zh/winforms/thread/69dc2aac-9956-40a0-9826-da48b9003a8e
SET ProgFiles86Root=%ProgramFiles(x86)%
IF NOT "%ProgFiles86Root%"=="" GOTO win64
SET ProgFiles86Root=%ProgramFiles%
:win64
"%ProgFiles86Root%\name of program" "arguments, etc."发布于 2012-04-09 17:57:51
在NSIS中,您通常可以假装x64不存在,只使用$programfiles
在批处理文件中;如果定义了%ProgramFiles(x86)%,则可以假定您在64位系统上,%ProgramFiles(x86)%是32位文件夹,%ProgramFiles%是64位文件夹。您还可以检查PROCESSOR_*:PROCESSOR_ARCHITEW6432是为在64位系统上运行的32位批处理文件定义的。对于x86-64/AMD64位批处理文件,PROCESSOR_ARCHITECTURE是AMD64 (请记住,PROCESSOR_ARCHITECTURE不仅仅是x86或AMD64,还有IA64和NT4的更多值)
您还应该记住,这些变量可以由用户更改,或者可能根本不存在,因此,如果您正在使用NSIS生成批处理,最好使用NSIS提供的完整路径...
https://stackoverflow.com/questions/10071300
复制相似问题