关于C#中批处理文件的执行问题

时间:2022-09-02 23:53:04
我有一个网站程序,用C#写的,在程序中要执行一个批处理文件,我的代码如下:
                Process pp1 = new Process();
                pp1.StartInfo.WorkingDirectory = @"d:\lapsgif";
                pp1.StartInfo.FileName = @"d:\lapsgif\laps.bat";
                pp1.StartInfo.Arguments = @"d:\lapsgif\" + @"d:\lapsgif";

                pp1.StartInfo.UseShellExecute = false;
                pp1.StartInfo.RedirectStandardOutput = true;
                pp1.StartInfo.CreateNoWindow = true;
                pp1.Start();
                pp1.WaitForExit(); 
现在的问题是:在VS2005中,我点调试-开始执行,网站运行没有问题,批处理也执行了,当我把程序用IP地址的形式打开,如:http://IP/main.aspx这样打开网站,其中的可执行文件那部分就没有执行。

我不知道是不是跟权限问题有关,我的系统是win2003,NTFS格式,我把程序所运行的目录和可执行文件所在目录都添加了everyone的修改、读取和运行等权限

在网上查找了很多资料,都没有解决,望高手指点

15 个解决方案

#1


友情帮顶。。。。。

#2


权限问题,iis中打开,和vs调试 是有区别的。

#3


路径是否对,

#4


IIS访问用户的权限相当低,exe和bat默认肯定是不能被执行的。

VS调试的时候是根据你VS启动的用户权限而定的(一般都是Administrator),这个用户权限是最高的,所以。。。

提高访问IIS(匿名用户)的权限是很危险的,使用时需要慎重,或者你使用集成认证也可以。

#5


恩,权限限制,呵呵

#6


用服务器路径试试

通过IIS能执行exe  bat文件的话,会是个灾难。。。

#7


谢谢楼上各位的指点。
回ruanwei1987,程序运行的路径是正确的。

请教cuike519,我应该怎么设置权限,使得bat文件可以执行,且相对安全呢

#8


继续请指点啊

#9


你的吧批处理文件放到e,f盘试试,估计是没有权限的问题。

#10


引用 9 楼 lxxlql 的回复:
你的吧批处理文件放到e,f盘试试,估计是没有权限的问题。


我的批处理文件是在D盘,D盘和E,F盘的设置是一样啊,都不是系统盘

#11


<identity impersonate="true" userName="Administrator" password="xxxxxxxx" />

#12


友情帮顶!

#13


引用 11 楼 c5662601 的回复:
<identity impersonate="true" userName="Administrator" password="xxxxxxxx" />


这句话是加在web.config里面吗,也就是说赋予IIS Administrator权限吗

#14


问题未解决,顶

#15


高手们能不能指点下,权限该怎么设置?在线等答案

#1


友情帮顶。。。。。

#2


权限问题,iis中打开,和vs调试 是有区别的。

#3


路径是否对,

#4


IIS访问用户的权限相当低,exe和bat默认肯定是不能被执行的。

VS调试的时候是根据你VS启动的用户权限而定的(一般都是Administrator),这个用户权限是最高的,所以。。。

提高访问IIS(匿名用户)的权限是很危险的,使用时需要慎重,或者你使用集成认证也可以。

#5


恩,权限限制,呵呵

#6


用服务器路径试试

通过IIS能执行exe  bat文件的话,会是个灾难。。。

#7


谢谢楼上各位的指点。
回ruanwei1987,程序运行的路径是正确的。

请教cuike519,我应该怎么设置权限,使得bat文件可以执行,且相对安全呢

#8


继续请指点啊

#9


你的吧批处理文件放到e,f盘试试,估计是没有权限的问题。

#10


引用 9 楼 lxxlql 的回复:
你的吧批处理文件放到e,f盘试试,估计是没有权限的问题。


我的批处理文件是在D盘,D盘和E,F盘的设置是一样啊,都不是系统盘

#11


<identity impersonate="true" userName="Administrator" password="xxxxxxxx" />

#12


友情帮顶!

#13


引用 11 楼 c5662601 的回复:
<identity impersonate="true" userName="Administrator" password="xxxxxxxx" />


这句话是加在web.config里面吗,也就是说赋予IIS Administrator权限吗

#14


问题未解决,顶

#15


高手们能不能指点下,权限该怎么设置?在线等答案