在coldfusion中提取7z文件

在coldfusion中提取7z文件,coldfusion,7zip,coldfusion-10,Coldfusion,7zip,Coldfusion 10,有人能帮我推荐一个函数来提取ColdFusion中的.7z文件吗?我使用基于ColdFusion 10和cfscript的代码。事实上,我们有cfzip标签,但它只提取.zip和.jar文件。您可以使用cfexecute在服务器上执行7z提取器,并通过各种命令将文件提取到您选择的位置,这在cfscript中是不可用的 幸运的是,雷蒙德·卡姆登(Raymond Camden)似乎已经深入了解了一些细节: 您可以使用cfexecute来执行服务器上的7z提取器,并通过各种命令将文件提取到您选择的位置

有人能帮我推荐一个函数来提取ColdFusion中的.7z文件吗?我使用基于ColdFusion 10和cfscript的代码。事实上,我们有cfzip标签,但它只提取.zip和.jar文件。

您可以使用cfexecute在服务器上执行7z提取器,并通过各种命令将文件提取到您选择的位置,这在cfscript中是不可用的

幸运的是,雷蒙德·卡姆登(Raymond Camden)似乎已经深入了解了一些细节:

您可以使用cfexecute来执行服务器上的7z提取器,并通过各种命令将文件提取到您选择的位置,这在cfscript中很不幸是不可用的

幸运的是,雷蒙德·卡姆登(Raymond Camden)似乎已经深入了解了一些细节:


函数在给定目标中unrr.rar文件。。使用cfexecute标记在命令行中运行rar exe

<cffunction name="Unrar" access="public" returnType="boolean" output="false">
    <cfargument name="archivefile" type="string" required="true">     
    <cfargument name="destination" type="string" required="true">
    <cfset var exeName = "">
    <cfset var result = "">
    <cfset var errorresult = "">


    <cfif not fileExists(arguments.archivefile)>
        <cfthrow message="Unable to work with #arguments.arvhiefile#, it does not exist.">
    </cfif>

    <cfif findnocase(".rar",arguments.archivefile)>

        <cfset var exeName = expandpath("WinRAR\rar.exe")>
        <cfset var args = []>
        <cfif directoryExists(#arguments.destination#)>             
            <cfset args[1] = "x +o">
        <cfelse>
            <cfset directoryCreate(#arguments.destination#)>                
            <cfset args[1] = "x">
        </cfif>
        <cfset args[2] = arguments.archivefile>
        <cfset args[3] = "#arguments.destination#">         
    </cfif>
    <cfexecute name="#exeName#" arguments="#args#" variable="result" errorvariable="errorresult" timeout="99" />

    <cfif findNoCase("OK All OK", result)>
        <cfreturn true>
    <cfelse>
        <cfreturn false>
    </cfif>        
</cffunction>

函数在给定目标中unrr.rar文件。。使用cfexecute标记在命令行中运行rar exe

<cffunction name="Unrar" access="public" returnType="boolean" output="false">
    <cfargument name="archivefile" type="string" required="true">     
    <cfargument name="destination" type="string" required="true">
    <cfset var exeName = "">
    <cfset var result = "">
    <cfset var errorresult = "">


    <cfif not fileExists(arguments.archivefile)>
        <cfthrow message="Unable to work with #arguments.arvhiefile#, it does not exist.">
    </cfif>

    <cfif findnocase(".rar",arguments.archivefile)>

        <cfset var exeName = expandpath("WinRAR\rar.exe")>
        <cfset var args = []>
        <cfif directoryExists(#arguments.destination#)>             
            <cfset args[1] = "x +o">
        <cfelse>
            <cfset directoryCreate(#arguments.destination#)>                
            <cfset args[1] = "x">
        </cfif>
        <cfset args[2] = arguments.archivefile>
        <cfset args[3] = "#arguments.destination#">         
    </cfif>
    <cfexecute name="#exeName#" arguments="#args#" variable="result" errorvariable="errorresult" timeout="99" />

    <cfif findNoCase("OK All OK", result)>
        <cfreturn true>
    <cfelse>
        <cfreturn false>
    </cfif>        
</cffunction>