JFileChooser j = new JFileChooser();
j.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
Integer opt = j.showSaveDialog(this);
Используйте % ERRORLEVEL% . Вам не нравится четкость и лаконичность командных файлов? :)
Что-то вроде:
java Foo
set exitcode=%ERRORLEVEL%
echo %exitcode%
Важно сделать это абсолютной следующей строкой командного файла, чтобы избежать перезаписи уровня ошибки :)
Обратите внимание, что если вы используете
IF ERRORLEVEL number
] «особенность» командных файлов, это означает, что «если уровень ошибки больше или равен число
» - это не основано на равенстве. Меня это уже укусило :)
У Раймонда Чена есть хорошая запись в блоге под названием ERRORLEVEL не% ERRORLEVEL% . Стоит проверить.
Также стоит отметить, что команда REM, которую большинство людей считают комментариями, на самом деле не является. Команда REM - это команда nop, которая всегда завершается успешно . После REM уровень ошибки всегда равен 0. Так что
willalwaysfail.bat
REM unless you insert a comment after it
if errorlevel 1 goto fail
никогда не выйдет из строя ...
Большинство обычных операций с внешними командами возвращают ERRORLEVEL 0, и это обычно (но НЕ всегда) означает, что ошибок не было:
c:\> dir
...
c:\> echo %ERRORLEVEL%
в основном отвечая на вопрос bulgar , но дополняя другие ответы:
для работы% ERRORLEVEL% вам необходимо иметь расширения команд активированы в Windows (по умолчанию).
Для одного сеанса:
cmd /E:on
или постоянно в реестре
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions = 0x01
, подробнее:
cmd /?
[]]