Существует ли эмулятор/интерпретатор "Windows Batch file" для UNIX?

Можно ли запустить командный файл в UNIX? (Linux/Mac OS X)

Я ищу интерпретатора для запуска пакетного файла Windows в UNIX, например 'bash' для bash script, 'csh' для csh script, поэтому 'XXX' для оконного пакетного файла.

Я разрабатываю Java-приложение.

  • Среда разработки находится в Mac OS X
  • но целевая (первичная исполняемая) среда находится в Windows.
  • В приложении используется командный файл Windows и исполняемый файл.
    • он генерирует *.bat для запуска программы-заглушки (*.exe).
  • Итак, я хочу написать Unit-тесты и подготовить программу-заглушку (*.exe как bash script),
  • и хотите запустить его в Mac OS X, а не в Windows.
    • но это не значит, что я хочу выполнить (эмулировать) двоичный файл Windows (*.exe)... Я только хочу запустить *.bat и позволить ему вызывать тестовый заглушка *.exe, сделанный с помощью sh/perl/рубин.

... Любые идеи?

(Связано с) как я могу выполнить пакетный файл Windows из UNIX-AIX?

Ответ 2

Нет, такого зверя нет. И, если есть бог, никогда не будет: -)

В то время как усилия по созданию интерпретатора пакетного файла от умеренного до высокого (особенно если вы не используете каждую отдельную функцию cmd.exe), выполнение исполняемого файла намного сложнее.

Я бы расследовал решение о запуске чистой виртуальной машины Windows и запуске приложения под Windows. Вы можете легко выполнять ваши модульные тесты как программы Windows, а также не беспокоиться о том, как управлять VM с OSX.

Единственное, что вам нужно, чтобы заботиться о том, как вернуть результаты в OSX из виртуальной машины Windows. Это должно быть выполнимо (хотя kludgy) через сетевое хранилище (общие диски или NFS или что-то подобное).