使用Adobe AIR NativeProcess在Windows上启动.bat文件,不受支持?

时间:2011-05-20 03:12:18

标签: batch-file air

我可以在Mac上轻松启动“sh”文件,但是当我在Windows上尝试使用bat时,我得到了这个:

无法启动NativeProcess。 '无法启动带有'.bat'扩展名的文件。'

3 个答案:

答案 0 :(得分:6)

将文件从* .bat重命名为* .cmd,它就像魅力一样。

非常安全。

答案 1 :(得分:3)

出于安全原因,you can't do that

  

Windows上的AIR不允许您直接运行.bat文件。 Windows .bat文件由命令解释程序应用程序(cmd.exe)执行。当您调用.bat文件时,此命令应用程序可以将传递给该命令的参数解释为要启动的其他应用程序。在参数字符串中恶意注入额外字符可能导致cmd.exe执行有害或不安全的应用程序。例如,如果没有正确的数据验证,AIR应用程序可能会调用myBat.bat myArguments c:/evil.exe。除运行批处理文件外,命令应用程序还将启动evil.exe应用程序。

     

如果使用.bat文件调用start()方法,则NativeProcess对象将引发异常。 Error对象的message属性包含字符串“Error#3219:无法启动NativeProcess。”

相反,请尝试使用参数cmd.exe启动/c your-batch-file.bat

答案 2 :(得分:1)

var batUrl:String = "outProtoCmd.bat";

var file:File = new File(batUrl); file.openWithDefaultApplication();