Bonjour,
Je viens chercher de l'aide ici pour un script Batch que je souhaite coder pour nous faciliter la vie.

Je m'explique : Dans deux semaines, un gros évènement se prépare avec ma MJC pour une 300aine de jeunes lycéens, et nous comptons leur offrir chacun une clé USB avec toutes sortes de fichiers informatifs à l'intérieur. Mais voilà, il faut bien les remplir, et le faire sur 300 clés c'est long.
(Je précise que nous seront sur plusieurs ordinateurs qui pourront être XP, 7 ou 8/8.1, mais j’essaierais de prendre des 8.1 en priorité)
Du coup j'ai eu l'idée de coder un petit script Batch pour le faire plus rapidement selon le procédé suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Début du programme
on branche la clé
la console demande d'appuyer sur une touche pour lancer la copie
copie des fichiers sur la clé
confirmation de copie
*la clé est retirée en toute sécurité*
on retire la clé
pause
on redémarre le programme
Ce qui me donne pour l'instant ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
@echo off
xcopy "C:\Users\MJC Communication\Desktop\test" "F:\" /E /W

echo ######################################
echo # Tous les fichiers ont ete copies ! #
echo ######################################

PAUSE 

test.bat
Mais deux problèmes majeurs apparaissent:
1. Je ne sais pas si le lecteur sera toujours F:\ ou non. J'imagine qu'en utilisant un IF, ça devrait le faire, mais est-ce que ça ne va pas trop alourdir le programme ? Et puis-je mettre un IF dans un IF ?

2. Je n'ai pas su trouver de moyen pour "retirer la clé en toute sécurité" depuis cmd ou un script batch. Probablement un programme Windows à appeler, mais pareil, je n'ai pas su le trouver car personne ne se met d'accord sur un seul programme.

Si vous pouvez m'aider, je vous en serait éternellement reconnaissant ! Je suis également ouvert aux conseils et critiques sur mon programme, je n'ai que peu d'expérience en Batch, et ma dernière expérience remonte à 2011 donc je suis un peu rouillé...