79 votes

Exécutez plusieurs commandes avec 1 ligne dans la ligne de commande Windows?

Comment puis-je exécuter plusieurs commandes dans la ligne de commande Windows avec une seule ligne ?

Par exemple, disons que je veux effectuer une mise à jour SVN puis copier tous les fichiers vers un autre emplacement...

svn update; copy *.* c:\développement\copie\

Cela ne fonctionne évidemment pas. Y a-t-il un caractère ou un délimiteur comme ';' pour réaliser quelque chose comme ça ?

0voto

Si vous souhaitez envelopper la première commande avec un if mais que vous voulez quand même que la deuxième commande s'exécute, vous devez également envelopper le if avec un cmd /c comme ceci:

cmd /c if exist abc. (rd /q abc) & echo hello

Si vous ne préfixez pas le if avec cmd /c, alors la commande entière devient partie de if (ce qui peut ne pas être ce que vous voulez).

0 votes

Ou vous pourriez dire (s'il existe une commande abc) & commande

0 votes

@Scott Je sais que les compliments sont un péché sur ces sites, mais start "" cmd /c "(command) & (command)" n'est légitime nulle part sur le web mais c'est le seul moyen de lier la plupart des déclarations de lot. Félicitations à vous.

1 votes

Je suis reconnaissant pour les compliments/félicitations, mais je ne comprends pas ce que vous dites. L'utilisateur138334 a dit, "Au cas où vous voudriez entourer la première commande avec un if mais que vous voudriez quand même que la deuxième commande s'exécute indépendamment, alors vous devez entourer le if avec un cmd/c également", et j'ai répondu avec une manière de le faire sans cmd/c. Alors pourquoi dites-vous que la seule façon de lier la plupart des déclarations de lot est d'utiliser cmd/c? Et pourquoi ajoutez-vous start dans le mélange?

-1voto

bazzakay Points 1

J'ai trouvé que l'utilisation de 'START' permettait de corriger le fonctionnement de plusieurs commandes (je suis sous Windows 10 Home). Par exemple :

START chrome.exe "page.web.com" & timeout 20

0 votes

Les réponses ne doivent pas contenir de commentaire, comme "Merci pour cela", cela détourne l'attention de votre solution. Vous devriez envisager de modifier cette réponse, afin qu'elle réponde simplement à la question, avec autant de détails que possible mais sans le bruit (c'est-à-dire la commande qui ne fonctionne pas)

0 votes

Ce qu'il cherche, c'est &, pas start !

0 votes

Quel problème cela résout-il? Que se passe-t-il lorsque vous tapez la ligne de commande sans start?

-2voto

bob Points 11

Créez un fichier de lot avec un nom court, par exemple bat.bat.

add cmd /c %1 
    cmd /c %2 
rem

et ainsi de suite jusqu'à 9 lignes et enregistrez

puis utilisez-le avec des guillemets doubles

bat "commande un" "commande deux" "commande trois" 

cmd /c exécutera chaque commande et s'arrêtera pour la ligne suivante, sans dire que c'est mieux que && juste que c'est facile.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X