Протестировано с jdk-8u74-macosx-x64.dmg
.
.dmg
.pkg
, перетаскивая его. Не делайте двойной щелчок (он установится). cd
в пакет. mkdir jdk-$version && cd jdk-$version
xar -xf ../JDK*.pkg
cd jdk
TAB kbd> tar zxf Payload
Contents/Home
папка содержит JDK вы также можете использовать
START /WAIT NetFx20SP2_x86
. помните, что
REM comment
равно
::comment
и что использование. \ не нужно, и расширения файлов тоже, если только не существуют каталоги / файлы с конфликтующими именами. Вам также не нужно дважды очищать переменную "filename" ("=" ничего не указывает дважды), а
ECHO.something
равно
ECHO something
только за исключением пустых строк
вы также можете использовать
START /WAIT NetFx20SP2_x86.exe
косая черта, чтобы указать, что это опция для команды запуска, а не целевой файл. чтобы увидеть больше этих опций, посмотрите здесь (я бы назвал это «косой чертой»)
Просто удалите строку START из вызова, например:
.\NetFx20SP2_x86.exe
Start .\setup.exe
Это заблокирует установку,
Хорошо, я оптимизировал ваш сценарий, вроде:
@echo off
rem Copy the configuration file
copy config.xml "%AppData%\DataLinks.xml"
rem Search for the CONFIG file, if this doesn't exist then the user doesn't have the .Net framework 2.0
if not exist "%windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG" (
echo You currently do not have the Microsoft(c) .NET Framework 2.0 installed.
echo This is required by the setup program for MyApplication.
echo.
echo The Microsoft(c) .NET Framework 2.0 will now be installed on you system.
echo After completion setup will continue to install MyApplication on your system.
echo.
Start /w .\NetFx20SP2_x86.exe
)
Start /w .\setup.exe
1: Поскольку вы используете файл CONFIG только один раз для тестирования, использование переменной для него бесполезно. кроме того, знак "=" должен быть прикреплен к имени переменной, иначе вы создадите переменную с пробелом в нем. "set filename =" и "set filename =" - это разные вещи. Да, имя переменной может содержать несколько слов и пробелов, но с этим нужно быть очень осторожным, с этим может быть трудно справиться.
2: Я бы не рекомендовал использовать '::' в качестве комментария, извините, Камило, потому что это не работает в скобках. Он будет здесь, но если вы возьмете этот трек для всех своих пакетов, у вас может возникнуть проблема позже, и вы удивитесь, почему ваш код сломан, если вы этого не знаете.