1

我正在尝试调试一些 C# 代码,非常感谢您的帮助。

这是我的代码。

        sourceZipFile = objShell.NameSpace(@incomingZipFilesFolder.FullName + this.zipFile.Title);
        try
        {
            //extract and copy all files
            foreach (FolderItem2 file in sourceZipFile.Items())
            {
                log.createEntry("Extracting:"+file.Name);
                destinationFolder.CopyHere(file, 4 | 16 );

            }
        }catch(Exception ex){

        }

我正在使用 Shell32 将 zip 文件解压缩到目标文件夹中。

在我的服务器上使用 Visual Studio 运行此代码时,一切正常,提取的文件到达目标文件夹。

在同一台服务器上将此代码作为服务运行时,日志文件成功显示:

提取:File1.txt 提取:File2.txt 提取:File3.txt

但是,文件不会到达目标文件夹。它表明循环工作正常,但destination.CopyHere 没有。

我正在使用服务帐户来运行此代码。该帐户对源文件夹和目标文件夹具有完全的 AD 权限。该代码不会引发任何错误。

有没有办法让 destinationFolder.Copy 在这里返回错误输出?

就像测试一样,我使用自己的 Windows 用户安装了该服务,因此该过程使用我的用户帐户运行,并且在服务器上具有管理员权限。结果与使用服务帐户运行它相同。

我会很感激任何指示。

谢谢

问候

托比

4

0 回答 0