2011-09-27 5 views
3

J'ai un script batch qui prend comme paramètre la source d'une image et sort l'image modifiée. Puis-je placer le lot sur un serveur et l'appeler au moyen d'un service web?appel lot par service web en .net

+0

Oui, de nombreuses façons. Qu'avez-vous essayé jusqu'à présent et quels problèmes avez-vous eu? –

+0

Je cherche un exemple de base pour l'utiliser. Je ne sais pas par où commencer – Ryan

Répondre

3

Pour commencer, voici quelques informations et pointeurs vers différentes alternatives. Essayez-les et voyez lequel répond le mieux à vos besoins et travaille pour vous.

Le plus simple, juste invoquer Process.Start() faire passer le plein spécif_fichier au fichier batch

Process.Start("c:\bats\test.bat") 

Si vous avez besoin de plus de contrôle, vous pouvez créer un Process.StartInfo et le transmettre à la Process.Start méthode. Je n'ai pas testé ce code.

Process p= new Process(); 
p.StartInfo.WorkingDirectory = "C:\temp"; 
p.StartInfo.FileName = "c:\bats\test.bat"; 
p.StartInfo.Arguments = "arguments"; 
p.StartInfo.CreateNoWindow = false; 
p.Start(); 
p.WaitForExit(); 

façon plus Un peu alambiquée exécute un CMD et l'envoi des commandes. Voir cet article http://codebetter.com/brendantompkins/2004/05/13/run-a-bat-file-from-asp-net/ Cependant, il s'agit d'une exécution par lots assez brute et brutale, qui peut ne pas fonctionner pour tous les fichiers BAT (par exemple ceux qui ont des commandes FOR avec %% variables) et ont des effets secondaires.

+0

merci, cependant je voudrais aussi demander comment invoquez-vous avec un paramètre comme test.bat -n 5 – Ryan

+0

essayez de remplacer "arguments" dans l'exemple par "-n 5" –