Créer un répertoire sur C: reprenant le nom du CD inséré - Shell/Batch - Programmation
Marsh Posté le 18-10-2005 à 23:29:53
Quel OS ?
Si WinXP tu peux utilise WMI en ligne de commande.
Pour recuperer le nom du volume dans le lecteur E: par exemple :
wmic cdrom where (Drive="E:" ) get VolumeName|find /V "VolumeName
tu met ca dans un fichier (car vu la synthaxe ca passera jamais dans une variable)
Donc
wmic cdrom where (Drive="E:" ) get VolumeName|find /V "VolumeName" >c:\toto.txt par exemple
ensuite tu met ce que y'a dans ce fichier texte dans une variable :
set /p VAR=<c:\toto.txt
et ensuite tu creer ton repertoire :
md "%VAR%"
Ce qui te donne dans un batch
wmic cdrom where (Drive="E:" ) get VolumeName|find /V "VolumeName" >c:\toto.txt
set /p VAR=<c:\toto.txt
md "%VAR%"
seulement ça , ça te creé un repertoire qui a le même nom que le nom du cd.
Pour le reste je te laisse finir.
Pour la copie cherche tu coté de xcopy
Marsh Posté le 19-10-2005 à 10:52:02
Merci beaucoup Archimed, ça fonctionne nickel
Pour la copie du contenu du CD j'ai trouvé aussi donc c'est bon
Reste un dernier point :
Dans ce répertoire nouvellement créé, j'ai besoin d'y mettre un fichier texte "go.txt" (qui sera renommé en .bat par la suite), afin d'affecter une lettre de lecteur à ce répertoire (pour une question de gestion réseau par la suite)
La 1ère ligne de ce fichier est de la forme :
subst L: C:\\%VAR%
où %VAR% est donc le nom de mon CD.
Donc dans mon batch, après la copie du contenu du cd, je rajoute la ligne :
echo subst L: C:\\%VAR%" >> c:\\%VAR%\\go.txt
Mais ça ne fonctionne pas
Y'a un autre moyen de créer un fichier txt avec la valeur d'une variable à l'intérieur ?
Je continue les tests
----- EDIT !!!!!!!! -----
'tain, je viens juste de tester un truc con qui marche :
cd c:\\%VAR%
echo subst L: C:\\%VAR% >>go.txt
suffisait de se placer d'abord dans le répertoire...
Marsh Posté le 19-10-2005 à 12:05:51
Et m.... flute !!!
Ca fonctionne donc nickel au bureau sous Windows XP
Mais les CD doivent être copiés sur un serveur, sous Windows 2000 Server !
Et là, la commande wmic n'est pas reconnue
2 solutions à priori :
- il existe une commande sous W2k qui fait pareil que wmic ????
- je lance mon batch depuis un PC sous WinXP, et la copie de CD se fera depuis le lecteur CD de ce PC vers le disque dur du serveur via le réseau. Et là j'ai peur du ralentissement que cela va engendrer (car bien sûr ce serveur est en fonction : applications, impressions, données...)
Marsh Posté le 27-10-2005 à 19:09:20
Salut
Oui tu peux utiliser un batch
Code :
|
Amuses toi bien
@++
Marsh Posté le 18-10-2005 à 22:00:34
Salut à tous
Je reposte mon problème ici car je m'étais trompé de catégorie ce matin
Merci tout d'abord à nglechau pour son aide et surtout m'avoir indiqué cette sous-cat de programmation
Voila : j'ai besoin de créer un petit batch qui, à chaque insertion d'un nouveau CD dans le lecteur E: , me créerait sur mon disque C: un répertoire ayant pour nom le nom de ce CD et y copierait à l'intérieur le contenu du CD
Nglechau m'a conseillé de récupérer le nom de volume dans un fichier
Vol E: > C:\toto
Donc le fichier "toto" contient :
Le volume dans le lecteur E s'appelle 031120_1036
Le numro de srie du volume est 6306-3988
Il me faut donc créer sur mon lecteur C: un répertoire qui s'appelle 031120_1036
Et là je sèche complètement
Nglechau m'a parlé de la commande FOR, mais moi je ne le suis pas... FORT
Comment récupérer juste cette partie du fichier dans une variable ?
Et en admettant que cette variable se nomme VAR, en faisant un md VAR ça crée un répertoire s'appellant VAR, et non pas le contenu de VAR (euh... suis clair là ? ), donc petit blème aussi là non ?
Quelqu'un pour m'aider ?
Message édité par SixtySeven le 18-10-2005 à 22:31:48