Batch file 如何使用批处理将dll作为exe执行

Batch file 如何使用批处理将dll作为exe执行,batch-file,dll,exe,executable,Batch File,Dll,Exe,Executable,我需要知道如何制作一个批处理文件,使其像执行exe文件一样执行dll文件。有人知道我能做什么吗?我使用的是windows 7。该文件是一个仅具有dll扩展名的exe。如果我理解,您有一个名为myProgram.exe的文件,该文件重命名为myProgram.dll,并且希望运行该可执行文件 如果是这种情况,那么您所需要的就是直接调用该文件。要从命令行测试文件所在的同一目录,请键入myProgram.dll,然后执行。操作系统会将文件标识为可执行文件并运行它 如果您想从另一个目录执行程序,并且提供

我需要知道如何制作一个批处理文件,使其像执行exe文件一样执行dll文件。有人知道我能做什么吗?我使用的是windows 7。该文件是一个仅具有dll扩展名的exe。

如果我理解,您有一个名为
myProgram.exe
的文件,该文件重命名为
myProgram.dll
,并且希望运行该可执行文件

如果是这种情况,那么您所需要的就是直接调用该文件。要从命令行测试文件所在的同一目录,请键入
myProgram.dll
,然后执行。操作系统会将文件标识为可执行文件并运行它

如果您想从另一个目录执行程序,并且提供了可执行文件的完整路径,那么它也可以工作

但是,如果您想从另一个目录调用可执行文件,而不指明可执行文件的完整路径,那么使用
path
变量来定位程序将无法工作

当程序在
PATH
variable中指示的文件夹上搜索时,variable
PATHEXT
的内容确定要在
PATH
文件夹中搜索的文件扩展名。并且
.dll
不在此列表中


因此,在调用可执行文件之前,您可以指示可执行文件的完整路径(绝对或相对路径),或者在
PATHEXT
变量中包含
.dll
扩展名。

如果dll是.NET程序集,那么这可能相当容易。例如,可以从批处理文件(通过powerhshell)访问.NET dll,如下所示

cmd /c start /b Powershell -command "[System.Net.Dns]::GetHostByAddress('8.8.8.8')" 

这将允许您访问处理DNS命名空间的.NET系统DLL,并直接调用其方法。

请参见此处:该文件是一个带有DLL扩展名的exe文件,然后您可以将该文件重命名为.exe吗?不,出于其他原因,它需要DLL扩展名,但它与没有扩展名的DLL完全相同。可能重复的