跨浏览器下载.Bat文件

时间:2017-07-18 16:44:23

标签: javascript c# html asp.net html5

我正在构建一个Web工具,该工具旨在由我目前正在工作的公司内部使用。该工具需要生成一个bat文件,并从浏览器在用户的计算机上运行它。创建bat文件工作正常,问题出在尝试运行bat文件时。蝙蝠文件在公司的网络上,为了问题,可以说

template <> class vec3<float> { public: vec3() : m_data(_mm_setzero_ps()) {} vec3(float *pval) : m_data(_mm_load_ps(pval)) {} vec3(float x, float y, float z) : m_data(_mm_setr_ps(x, y, z, z)) {} vec3(const vec3& other) : m_data(other.m_data) {} vec3(vec3&& other) noexcept : m_data(std::move(other.m_data)) {} operator __m128() const { return m_data; } void print() { std::cout << "hello simd" << std::endl; } protected: __m128 m_data; };

首先,我尝试在JavaScript中使用batpath = \\domain\path\to\the\file.bat,这在Internet Explorer中有效,但只会在Chrome中打开一个空白标签。我的工作是显示bat文件所在的文件夹,并提示用户手动在Windows资源管理器中运行他们的文件,但我被要求使用现在的Windows资源管理器在浏览器中完成整个过程。

我接下来尝试的是生成一个带有download属性的锚标记,以手动下载bat文件

锚标记为window.open('file:' + batpath)

这在Internet Explorer中也可以正常工作,但在chrome中根本不做任何事情。

我想做的甚至可能吗?如果是这样,我将如何使其工作?

1 个答案:

答案 0 :(得分:0)

我会在机器上创建一个URL协议并让它执行bat文件。

点击此链接:https://msdn.microsoft.com/en-us/library/aa767914.aspx

基本上它的工作如下:

  1. 创建协议并调用CMD.EXE并传入bat文件路径
  2. 通过生成链接“batrunner:file-path-to-bat.bat”来调用协议
  3. 这适用于所有浏览器。你需要小心这样做,并且可能出于安全原因构建一个自定义应用程序来调用bat文件。