Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1964 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Créer un répertoire sur C: reprenant le nom du CD inséré

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer un répertoire sur C: reprenant le nom du CD inséré

n°1225790
SixtySeven
Posté le 18-10-2005 à 22:00:34  profilanswer
 

Salut à tous  :hello:  
 
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 num‚ro de s‚rie 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  :o  :sarcastic:  :D  
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à ?  :lol: ), donc petit blème aussi là non ?
 
 
Quelqu'un pour m'aider ?  :jap:


Message édité par SixtySeven le 18-10-2005 à 22:31:48
mood
Publicité
Posté le 18-10-2005 à 22:00:34  profilanswer
 

n°1225826
archimed
Posté le 18-10-2005 à 23:29:53  profilanswer
 

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


Message édité par archimed le 18-10-2005 à 23:30:21
n°1225982
SixtySeven
Posté le 19-10-2005 à 10:52:02  profilanswer
 

:love:  :love:  :love:  
Merci beaucoup Archimed, ça fonctionne nickel  :bounce:  
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  :pt1cable:
 
----- 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...  :pt1cable:


Message édité par SixtySeven le 19-10-2005 à 10:56:04
n°1226077
SixtySeven
Posté le 19-10-2005 à 12:05:51  profilanswer
 

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...)
 
 :(  :(

n°1232874
arnaud1206
Posté le 27-10-2005 à 19:09:20  profilanswer
 

Salut
Oui tu peux utiliser un batch
 

Code :
  1. vol d: > nom.txt
  2. for /F "tokens=7 delims= " %%i in (nom.txt) do (echo %%i > nom2.txt
  3. goto suivant)
  4. :suivant
  5. tu recuperes le nom dans nom2.txt
  6. tu copies ce que tu veux copier


 
Amuses toi bien
@++


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Créer un répertoire sur C: reprenant le nom du CD inséré

 

Sujets relatifs
[Résolu] Créer une CMainFrame qui ne prend pas le focus à l'ouverturecreer une extension firefox
Creer un plugin pour Visual Studio 2003créer un formulaire a partir d'une DTD grace a PHP
Garder les droits d'accès sur un répertoireOu je doit insere ce code ?
Créer un tableau un peu particulierChanger l'epaisseur d'un trait /creer une gomme sous visual basic 6
récupérer le chemin d'un répertoire cherchercréer un forum
Plus de sujets relatifs à : Créer un répertoire sur C: reprenant le nom du CD inséré


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR