C# 使用Windows服务使用cmd文件将文件复制到网络路径

C# 使用Windows服务使用cmd文件将文件复制到网络路径,c#,.net,windows-services,copy,C#,.net,Windows Services,Copy,我正在尝试使用Windows服务中的C#代码将xml文件从本地文件夹复制到共享路径 它正在调用CMD文件并返回拒绝访问。但如果我试着复制到本地,这同样适用 private void CopyFile(string path) { try { Process process = new Process(); ProcessStartInfo startInfo = new ProcessStartInfo()

我正在尝试使用Windows服务中的C#代码将xml文件从本地文件夹复制到共享路径

它正在调用CMD文件并返回拒绝访问。但如果我试着复制到本地,这同样适用

private void CopyFile(string path)
    {
        try
        {

            Process process = new Process();
            ProcessStartInfo startInfo = new ProcessStartInfo();                
            startInfo.UseShellExecute = false;
            startInfo.FileName = Path.Combine(Environment.CurrentDirectory, "Batch", "Run.cmd");
            startInfo.Arguments = "/c " + path;                               
            startInfo.RedirectStandardError = true;
            startInfo.RedirectStandardOutput = true;

            process = Process.Start(startInfo);
            process.WaitForExit();
            string output = process.StandardOutput.ReadToEnd();
            string error = process.StandardError.ReadToEnd(); // ACCESS DENIED
            int  exitCode = process.ExitCode; // 1


            process.Close();

        }
        catch (Exception ex)
        {
            string x = ex.Message;
        }
    }
Run.cmd

@set sourcePath=%1

copy /y %sourcePath%\MyTest.xml \\networksharedPath\XML\MyTest.xml
Windows服务的项目安装程序已配置为使用LocalSystem帐户

如何使服务将文件从本地文件夹复制到共享计算机?C代码或Windows Process Installer配置有任何问题吗


注意:手动单击cmd文件将复制到共享文件夹。如果我修改为网络服务并运行,则会出现相同的错误
访问被拒绝
。已尝试配置中给出的步骤,但运气不佳。

默认情况下,LocalSystem帐户通常无法访问网络共享。尝试在您的帐户下运行该服务。通过手动运行cmd文件,它确实在您的帐户下运行,而不是在LocalSystem帐户下运行。当它作为自己的进程运行时,它不会抛出任何异常。因此,您也可以在此处跟踪控制台输出。

LocalSystem是否有权访问该共享?另见:@Poiter,是的。如果我手动单击cmd文件,它会复制到共享文件夹