Commande bat et interactivité....
Résolu
Silver
-
Xavstarblues Messages postés 10585 Date d'inscription Statut Contributeur Dernière intervention -
Xavstarblues Messages postés 10585 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Me voici avec un problème de taille. J'essaye de copier des répertoires d'un endroit à un autre grâce à XCOPY, ce qui marche parfaitement. Cependant, je dois indiquer le nom de l'utilisateur dans le chemin du fichier DESTINATION (exemple : C:\Documents and Settings\Untel\Application Data\OpenOffice.org2 ).
Malheureusement, je dois faire ceci sur plusieurs centaines de postes, aussi aimerais-je pour ma culture personnelle ainsi que pour ma flemmardise réaliser une commande permettant :
1) de demander le nom de l'utilisateur principal de l'ordinateur (car plusieurs personnes se connectent sur le poste, donc plusieurs profils sont créés mais une seule personne utilise régulièrement le poste)
2) Lorsque le nom est renseigné, changer le chemin du fichier avec le nom entré précédemment.
Exemple :
"
Saisissez le nom de l'utilisateur principal :
/* on écrit Machin, par exemple */
/* Hop le chemin se change en C:\Documents and Settings\Machin\Application Data\OpenOffice.org2 */
/* Et ensuite, la copie des fichiers se fait tranquillement, cette partie-là est déjà réglée */
"
J'espère avoir été assez clair et vous remercie d'avance pour votre réponse =)
Me voici avec un problème de taille. J'essaye de copier des répertoires d'un endroit à un autre grâce à XCOPY, ce qui marche parfaitement. Cependant, je dois indiquer le nom de l'utilisateur dans le chemin du fichier DESTINATION (exemple : C:\Documents and Settings\Untel\Application Data\OpenOffice.org2 ).
Malheureusement, je dois faire ceci sur plusieurs centaines de postes, aussi aimerais-je pour ma culture personnelle ainsi que pour ma flemmardise réaliser une commande permettant :
1) de demander le nom de l'utilisateur principal de l'ordinateur (car plusieurs personnes se connectent sur le poste, donc plusieurs profils sont créés mais une seule personne utilise régulièrement le poste)
2) Lorsque le nom est renseigné, changer le chemin du fichier avec le nom entré précédemment.
Exemple :
"
Saisissez le nom de l'utilisateur principal :
/* on écrit Machin, par exemple */
/* Hop le chemin se change en C:\Documents and Settings\Machin\Application Data\OpenOffice.org2 */
/* Et ensuite, la copie des fichiers se fait tranquillement, cette partie-là est déjà réglée */
"
J'espère avoir été assez clair et vous remercie d'avance pour votre réponse =)
A voir également:
- Commande bat et interactivité....
- Invite de commande - Guide
- Creer un fichier .bat - Guide
- Commande terminal mac - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- Commande dism - Guide
10 réponses
bonjour
-----
@echo off
echo Rentrez le nom de l'utilisateur principal du poste:
Set /P nom=
Xcopy \\repertoiredestockage\fichieràcopier "C:\Documents and Settings\%nom%\Application Data\OpenOffice.org2"
------
ca devrait fonctionner.
-----
@echo off
echo Rentrez le nom de l'utilisateur principal du poste:
Set /P nom=
Xcopy \\repertoiredestockage\fichieràcopier "C:\Documents and Settings\%nom%\Application Data\OpenOffice.org2"
------
ca devrait fonctionner.
Merci beaucoup ça marche =)
Puis-je encore vous poser une question ?
j'ai rajouté /W /Y /V /S /E à la fin de ma commande de copie.
/W sert à attendre qu'on appuie sur une touche pour faire la copie.
ça se passe très bien, seulement j'ai eu envie de rajouter après la copie
Echo Copie terminée.
Et le /W qui attend une lettre utilise en fait le E de Echo pour s'exécuter !
Et même quand je ne mets pas @echo off et qu'à la fin du programme je mets @echo copie terminée rien ne s'affiche ... Merci encore !
Puis-je encore vous poser une question ?
j'ai rajouté /W /Y /V /S /E à la fin de ma commande de copie.
/W sert à attendre qu'on appuie sur une touche pour faire la copie.
ça se passe très bien, seulement j'ai eu envie de rajouter après la copie
Echo Copie terminée.
Et le /W qui attend une lettre utilise en fait le E de Echo pour s'exécuter !
Et même quand je ne mets pas @echo off et qu'à la fin du programme je mets @echo copie terminée rien ne s'affiche ... Merci encore !
Le voici :
@echo off
echo Rentrez le nom de l'utilisateur principal du poste:
Set /P nom=
Xcopy user "C:\Documents and Settings\%nom%\Application Data\OpenOffice.org2" /W /Y /V /S /E
echo Copie terminée.
@echo off
echo Rentrez le nom de l'utilisateur principal du poste:
Set /P nom=
Xcopy user "C:\Documents and Settings\%nom%\Application Data\OpenOffice.org2" /W /Y /V /S /E
echo Copie terminée.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
alors je l'ai fait, premier changement : il attend qu'on appuie sur une touche. Il copie bien mais je peux pas voir si le message s'affiche bien. Si je lance ça dans l'invite de commande directement il dit qu'il ne trouve pas le fichier alors qu'il est bien spécifié et qu'il existe, mais passons. Si je lance le .bat, pour m'assurer que le message a bien été affiché, puis-je inclure une commande du style "system_PAUSE" ?
pause
tout simplement, il attendra un appui touche pour repartir
bien sur avec un @echo off en debut de batch on peut ensuite mettre
echo Le transfert va commencer
pause
qui se traduit a l'ecran par
Le transfert va commencer
Appuyez sur une touche pour continuer...
tout simplement, il attendra un appui touche pour repartir
bien sur avec un @echo off en debut de batch on peut ensuite mettre
echo Le transfert va commencer
pause
qui se traduit a l'ecran par
Le transfert va commencer
Appuyez sur une touche pour continuer...