作为MVC进程运行时的XCopy退出代码4

时间:2019-03-19 11:05:56

标签: c# asp.net-mvc iis file-permissions xcopy

我有一个批处理文件,其内容如下:

xcopy /S "C:\Work\LiveWebSite2.0\CompiledResources" "C:\Work\LiveWebSite2.0\Website\bin\" /Y >> "C:\Work\LiveWebSite2.0\CompiledResources\ID_Log.txt"

如果单击批处理文件,则XCopy命令将按预期运行,并且“ CompiledResources”中的文件和结构将被复制到“ Website \ bin”

我想从我的Web应用程序运行该批处理文件,但是当我执行该操作时,代码4退出

运行文件的代码如下:

public int CompileResources()
    {
        string batchFileLocation =  $"{Config.ResourcesPath}../translate.bat";
        Process p = new Process();
        p.StartInfo.FileName = batchFileLocation;
        p.StartInfo.WorkingDirectory = Path.GetDirectoryName(batchFileLocation);
        p.StartInfo.UseShellExecute = true;
        p.StartInfo.Verb = "runas";
        // Run the process and wait for it to complete
        p.Start();
        p.WaitForExit();
        return (p.ExitCode);

    }

如果我使用iis express在VS中预览我的Web应用程序可以正常工作,我什至可以发布该站点,并使其通过IIS在我的本地计算机(Windows 10)上运行。但是,当我将其传输到服务器时,它的代码为4。AGain失败,直接单击.bat文件即可,但是通过Web应用程序运行它失败。

我认为这一定是渗透性问题,但是我已经允许该文件夹的所有用户完全访问,但是我仍然得到退出代码4

0 个答案:

没有答案