我有一个批处理文件,其内容如下:
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