批处理脚本命令无法远程工作

时间:2015-08-14 19:25:21

标签: c# asp.net remote-debugging

我有一个使用asp.net的网站,我正在尝试创建批处理脚本并运行它。

我用它来获取tfs工作区的最新文件

.bat只有

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"

tf get "workspacePath" /force /recursive

当我通过点击.bat本身在远程服务器上运行它时,它运行正常并完成了我需要做的所有事情。

当我尝试通过网站使用它时,它不起作用。

我确认它确实阅读并尝试通过在bat的位置添加一个随机的.txt文件来执行该脚本,并让脚本删除它,该脚本通过该站点运行。

我有很多次通过我的网站运行批处理脚本,但是对于这个具体的例子,它不起作用。

我试过通过......

执行它
Process.Start(@"filepath\getStuff.bat");

我还尝试过使用psExec

绕过批处理脚本
Process p = new Process();
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardOutput = true;
    p.StartInfo.FileName = @"path\PsExec.exe";
    p.StartInfo.Arguments = @"\\vdvws052 ""C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\TF.exe"" get ""workspacePath"" /force /recursive";
    p.Start();

我尝试过每一种方式我都添加了.WaitForExit()这个问题,但这也无济于事

1 个答案:

答案 0 :(得分:0)

使用&签署每个命令。

&安培;用于组合两个命令(或更多)。执行command1然后执行command2

""C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\TF.exe"" & get ""workspacePath"" /force /recursive"

&安培;&安培;有条件的组合。如果command1成功完成,则执行command2

""C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\TF.exe"" && get ""workspacePath"" /force /recursive"