Ich verwende Visual Studio 2010 unter Windows 7 64-Bit.
ich eine Lösung gefunden, die nach meinem Geschmack ist besser, ich bin Befehle zusammen mit && ^
zum Beispiel die Bearbeitung meiner .vcxproj XML-Datei wie so Verkettungs:
<PreBuildEvent>
<Command>echo "hello 1" &&^
echo "hello 2" &&^
echo "hello 3"</Command>
<Message>Performaing pre-build actions ...</Message>
</PreBuildEvent>
ich angekettet haben drei Befehle zusammen. Die '& &' teilt der Shell mit, die Ausführung zu beenden, wenn der vorherige Befehl fehlerhaft ist.
Hinweis, in der .xml-Datei kann man &&
nicht direkt verwenden, also '& amp; & amp; ' muss stattdessen verwendet werden. Beachten Sie auch die Verwendung des ^
-Zeichens, dies ist das Zeilenfortsetzungszeichen der cmd-Shell (wie BASHs \
-Zeichen).
Jeder neue Befehl muss am Anfang der Zeile beginnen. Mit diesem Ansatz kann man so viele Befehle verketten, wie man möchte, aber wenn einer fehlschlägt, wird der Rest in der Kette nicht ausgeführt.
Hier ist meine eigentliche usecase, ich bin mit einem Python-Skript einiger Umgebungsprüfungen durchgeführt werden, gefolgt von meinem vorkompilierte Header des Debug-Datei in einem anderen Teilprojektverzeichnis kopiert:
<PreBuildEvent>
<Command>C:\Python27\python.exe "$(SolutionDir)check_path.py" 32 &&^
copy "$(SolutionDir)h1ksim_lib\vc$(PlatformToolsetVersion).pdb" "$(IntDir)" /-Y > nul</Command>
<Message>Performaing pre-build actions ...</Message>
</PreBuildEvent>
Die > nul
-Nutzung auf dem Kopierbefehl verhindert jede Ausgabe in dem Build-Fenster zeigt nach oben, so wird mein Mitspieler nicht heraus ausgeflippt, wenn sie sagt 0 file(s) copied.
Verweis auf dem Austausch vorkompilierte Header zwischen Teilprojekten ist hier:
Sharing precompiled headers between projects in Visual Studio
In VS2008 haben mehrere CMD-Dateien in separaten Zeilen nicht funktioniert. VS hat das erste Skript nur beim Build aufgerufen. Ich habe CALL vor jeder Zeile hinzugefügt und dann hat alles funktioniert. –
Warum diese "Call" -Befehle Sie fragen? Siehe [hier] (https://msdn.microsoft.com/en-us/library/ms165412.aspx). – Pascal