L'exécution de commandes cmd via .NET?
System.Diagnostics.Process proc0 = new System.Diagnostics.Process();
proc0.StartInfo.FileName = "cmd";
proc0.StartInfo.WorkingDirectory = Path.Combine(curpath, "snd");
proc0.StartInfo.Arguments = omgwut;
Et maintenant, pour certains d'arrière-plan...
string curpath = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
omgwut est quelque chose comme ceci:
copier /b un.wav + b.wav + ... + y.wav + z.wav de sortie.wav
Et il ne se passe rien du tout. Alors, évidemment, quelque chose ne va pas. J'ai aussi essayé "copie" de l'exécutable, mais qui ne fonctionne pas.
OriginalL'auteur unrelativity | 2009-03-27
Vous devez vous connecter pour publier un commentaire.
Essayer de le préfixer vos arguments à cmd avec
/C
, de la manière suivante:cmd /C copy /b t.wav ...
Selon
cmd.exe /?
à l'aide de/C <command>
Pour votre code, il pourrait ressembler à quelque chose comme
Notes:
cmd.exe copy ...
vous verrez que la copie ne se produit pas.2,003
caractères .NET Framework applications et488
caractères .NET Compact Framework applications".System.IO
classes pour ouvrir les fichiers manuellement et de les concaténer.OriginalL'auteur Daniel LeCheminant
Essayer cela pourrait vous aider à.. Son travail avec mon code.
throw;
après l'enregistrement de l'exception, à moins que ce code est dans le haut niveau du programme. Qui permettra à l'exception de propager les appelants.OriginalL'auteur vikas latyan
Même, vous pouvez essayer c'est.. c'est encore mieux.
OriginalL'auteur vikas latyan
Daniels cmd /c idée va fonctionner. Gardez à l'esprit il ya une limite à la longueur d'une ligne de commande probablement 8k dans votre cas, voir cette pour plus de détails.
Puisque vous êtes dans une .Net application de toute façon, Fichier.Copie peut être tout à fait un peu plus facile/plus propre que cette approche.
OriginalL'auteur ScottS