J'ai scénario NAnt qui dans le cadre de son projet appelle un fichier de commandes en utilisant la tâche suivante:Nant la création du fichier de redirection de cmd.exe appelé « programme » sur c: lecteur
<target name="makeplane">
<exec program="C:\WINDOWS\system32\CMD.EXE"
commandline="/C ${make.file} > ${make.log}"
verbose="false"
workingdir="${make.dir}"
basedir="${make.dir}">
</exec>
<delete>
<fileset basedir="c:\">
<include name="program" />
</fileset>
</delete>
</target>
Malheureusement je n'ai pas le contrôle au-dessus du contenu sur le fichier séquentiel et il vomit beaucoup d'ordures sur l'écran qui ne sert à rien dans le journal. Donc, pour contourner ce im redirigeant la sortie du fichier de chauve-souris dans un fichier texte à l'aide du
> ${make.log}
partie qui équivaut à « > log.txt ».
Cette redirection semble créer un fichier appelé "programme" sur le lecteur C et bousille toutes sortes de services et Windows ne l'aime généralement pas. Pour contourner ce problème, je supprime manuellement ce fichier après l'exécution du fichier bat. Le problème est que je dois maintenant exécuter une tâche similaire pour un autre projet entièrement et s'ils s'exécutent en même temps, le premier verrouillera le fichier appelé "programme" et le second échouera. Pas exactement une bonne situation pour l'intégration continue. J'ai cherché sur le net, mais parce que le fichier est appelé programme, je reçois toutes sortes de déchets. N'importe qui a eu des idées sur un travail autour. J'ai essayé le paramètre de sortie sur la tâche exec mais le problème reste le même.
Doh, pourquoi n'ai-je pas pensé à cela plus tôt. – SecretDeveloper