我编写此脚本首先安装msi,然后将我的应用程序复制到临时目录。但没有一个工作。执行windows.bat
文件时,找不到package\
和dist
目录
1)用户下载并执行了具有以下树的windows.bat文件:
C:\Users\Username\Downloads\windows.bat
C:\Users\Username\Downloads\package\<.msi files>
C:\Users\Username\Downloads\dist\<application files>
2)windows.bat包含以下内容:
msiexec /I "package\files.msi" /qb
set temp=%TEMP%
echo %temp%
xcopy dist %temp% /e /h /R
全部失败,与windows.bat文件一起运行。我做错了什么?
答案 0 :(得分:1)
您需要将以下行添加到批处理文件的开头:
cd c:\users\username\downloads
或者,您可以这样做:
cd /d %~p0
%~p0将取参数#0(批处理文件的完整路径)并从中提取路径。如果给定路径包含驱动器规范,/ d选项将确保也更改当前驱动器。
答案 1 :(得分:1)
好的,我想我知道什么是错的。 msiexec.exe
从Windows系统文件夹(例如C:\ Windows \ Systeme32)运行,因此当您传递要安装的msi文件的名称时,您需要包含它的完整路径。
所以,使用@MikeNakis'关于获取批处理文件中当前路径的信息,试试这个(稍微调整一下只使用%~dp0目录,所以不包括批处理文件名):
msiexec /I "%~dp0\package\files.msi" /qb
答案 2 :(得分:1)
确保您位于正确的目录中,以
开头CD /d c:\users\%USERNAME%\downloads
作为批处理文件中的第一行