2013-02-19 4 views
0

J'ai un problème avec cette chauve-souris:chemin Changement de fichier batch

@echo off 

set CD1OLD=%CD% 
cd /d %~dp0 


%CD%\xxx.Http.Client.exe http://localhost:8081/aaa/comparer/aa/base/aa/compare >  debug_aaa_base.xml 
echo. 
%CD%\xxx.Http.Client.exe http://localhost:8081/aaa/comparer/aa/complessi/aa/compare > debug_aaa_complessi.xml 
echo. 
echo ****** LANCIO xxxx ****** 
%CD%\Lancio_xxxx.bat 
echo. 

Après ce morceau de code, je dois exécuter ceci:

echo ****** SPOSTA FILES ****** 
%CD%\Elaborazione_aaa_Spostamento_files.exe 
cd /d %CD1OLD% 

mais cela ne fonctionne pas .. Il semble que le premier code modifie son chemin d'exécution en exécutant le code lui-même, ce qui pose des problèmes avec l'exécution du second bloc de code.

En particulier, si j'enlève cette ligne

%CD%\Lancio_xxxx.bat 

Tout fonctionne très bien. Mais j'ai besoin de courir cette ligne aussi!

Des suggestions? Merci à l'avance

meilleures salutations

Répondre

1

Notez que si vous appelez simplement un .bat d'un autre, le processeur de commande ne reviendra pas à l'appelant. Le lot appelant ne reprend pas l'exécution, le "appel" est comme un simple goto qui va au fichier séquentiel référencé.

Si vous remplacez

%CD%\Lancio_xxxx.bat 

avec

call %CD%\Lancio_xxxx.bat 

puis après l'exécution de ce fichier de commandes, les commandes après cette ligne call sera exécutée aussi, ce qui semble être ce que vous cherchez .

0

Essayez les commandes PUSHD et POPD autour de la ligne qui exécute Lancio_xxx.bat

Ces commandes sauvegarder et restaurer le répertoire courant respectivement

Voir les liens ci-dessous pour plus de détails :

http://ss64.com/nt/pushd.html

http://ss64.com/nt/popd.html

+0

Le problème n'est pas un changement de répertoire de travail. Lorsque vous exécutez des scripts batch à partir d'un script batch, vous devez utiliser 'call' (synchrone) ou' start' (asynchrone), sinon le contrôle ne retournera pas au script parent et les commandes restantes de ce script ne seront pas exécutées. –

Questions connexes