我有一个使用asp.net 2.0和vb.net的web应用程序我写了一个bat文件来使用GPG加密文件并在asp.net shell(路径名和文件名)中调用它。 当我从cmd窗口双击bat文件时它工作正常,但是当我在应用程序中调用它时,我传递的所有命令都执行得很好,除了gpg命令。我确保运行应用程序的用户具有运行我导入的命令的所有权限和特权,信任并验证所有密钥,实际上双击文件时bat文件工作正常但是为什么它成功执行了GPG功能。它没有返回任何错误,只是没有加密任何文件
gpg -e --always-trust -r<>文件名
任何帮助将不胜感激。
谢谢!
答案 0 :(得分:2)
我遇到了类似的问题:
C#.Net: Why is my Process.Start() hanging?
似乎微软以其无限的智慧阻止了批处理文件在Windows Server 2003中被IIS执行.Brenden Tompkins在这里有一个解决方法:
http://codebetter.com/blogs/brendan.tompkins/archive/2004/05/13/13484.aspx
答案 1 :(得分:1)
您是否尝试完全限定批处理文件中gpg可执行文件的路径?
答案 2 :(得分:-2)
不确定你是如何使用'shell()'的,但Process.Start是可行的方法。