【问题标题】:Is there the "Windows Batch file" emulator/interpreter for UNIX? [closed]是否有适用于 UNIX 的“Windows 批处理文件”模拟器/解释器? [关闭]
【发布时间】:2011-08-07 13:52:26
【问题描述】:

我可以在 UNIX 上运行批处理文件吗? (Linux / Mac OS X)

我正在寻找解释器来在 UNIX 上运行 Windows 批处理文件,例如 'bash' 用于 bash 脚本,'csh' 用于 csh 脚本,所以 'XXX' 用于 Windows 批处理文件。

我正在开发一个 Java 应用程序。

  • 开发环境在 Mac OS X 上
  • 但目标(主要执行)环境在 Windows 上。
  • 该应用程序使用 Windows 批处理文件和可执行文件。
    • 它会生成 *.bat 来运行存根程序 (*.exe)。
  • 所以我想编写单元测试并准备存根程序(*.exe 作为 bash 脚本),
  • 并希望在 Mac OS X 上运行它 - 而不是 Windows。
    • 但是,这并不意味着我要执行(模拟)Windows 二进制文件 (*.exe)... 我只想启动 *.bat 并让它调用使用 sh/perl 制作的测试存根 *.exe /红宝石。

...有什么想法吗?

(相关) how i can execute windows batch file from UNIX-AIX?

【问题讨论】:

  • 老实说,您可能不需要在模拟器中测试您的 .bat 文件。大多数 .bat 非常简单,无需定期测试输出。您认为需要对其进行测试的脚本有多复杂?
  • 通常情况下,管理中的一些黑客想要“代码覆盖”而不知道它对您的应用程序有什么用处。
  • 我用模板引擎生成*.bat,所以我想测试结果(批处理文件的内容)是否正确调用存根程序。
  • 如果您使用一种语言编写应用程序,事情就不会这么复杂了。

标签: windows unit-testing macos unix batch-file


【解决方案1】:

cmd.exe 在我的区号中被评为 NSFW

在 windows 上查看PowerShell

如果您坚持,请在 linux、Solaris、BSD 等上使用Wine。它带有 cmd.exe :)

维基百科Wine

MacOSX 支持:

【讨论】:

    【解决方案2】:

    不,没有这样的野兽。而且,如果神,就永远不会有:-)

    虽然创建批处理文件解释器的工作量适中到高(尤其是如果您没有使用cmd.exe 的每一个功能),但运行可执行文件非常困难,非常

    我将研究启动一个干净的 Windows 虚拟机并在那里在 Windows 下运行您的应用程序的解决方案。您也可以轻松地将单元测试作为 Windows 程序进行,而不必担心从 OSX 驱动 VM。

    然后,您唯一需要关心的是如何将结果从 Windows 虚拟机返回给 OSX。这应该可以通过网络存储(共享驱动器或 NFS 或类似的东西)来实现(虽然很笨拙)。

    【讨论】:

    • 有一个为 SFU(现在是 SUA)编译的 cmd,所以如果你有源代码,可以让它在 POSIX 环境中运行; -)
    • 谢谢,这是最现实的方法之一 :) 啊,如果有上帝,我希望使用新的 powerbook 和更多的 2GB RAM... (;o;)跨度>
    • 我支持这个。您应该在测试虚拟机中真正测试您的应用程序,而不是在模拟的 Windows 命令行解释器(其行为可能与原始行不同)。
    • @noufal-ibrahim 当然,需要在 Windows 主机中进行测试。但是在其他主机上进行许多运行和修复周期是很大的压力。所以我想在我的机器上完成几乎修复,然后将代码放在真实环境中。 (然后,当然,对它做更多的修复。)
    猜你喜欢
    • 2011-11-04
    • 2013-07-07
    • 2011-05-23
    • 1970-01-01
    • 2012-11-02
    • 2014-01-30
    • 2012-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多