POUR LES PROS DU C++ OU DE LA PROGRAMMATION BATCH - Programmation
Marsh Posté le 12-09-2001 à 15:58:29
ben tu recup le field descriptor de ton dossier cible 
 
int fd; 
fd = open..... 
 
et apres tu vas dans ton dossier source tu recupere le fd du 1er fichier et tu fait un unlink ou ulink ou .... (je suis plus sur regarde le man) et zou tu deplace le fichier et ainsi de suite  
  
 
bien sur si tes sous pinguin sous win doit i avoir un equivalent 
une fonction de deplacement de fichier apres c'est un jeu d'enfant  
 
Marsh Posté le 12-09-2001 à 16:12:50
dans un batch qq chose du genre : 
for /D %%i in (u:\*.*) do for /D %%j in (u:\%%i\*.*) do move u:\%%i\%%j\*.*  u:\%%i\ 
 
si tu lances la commande dans une fenêtre DOS remplace %% par % pour les noms de varaiable. 
Je ne sais pas si le commutateur /D (répertoires uniquement) fonctionne sur toutes les versions de win (il marche sous w2000) 
 
A+ 
[edtdd]--Message édité par JPA--[/edtdd]
Marsh Posté le 12-09-2001 à 16:37:59
Merci mais je ne comprends pas très bien 
A quoi correspond i et j ? 
J' ai win 98 
je crois que /D ne passe pas 
Marsh Posté le 12-09-2001 à 16:50:27
%i et %j sont des variables temporaires 
dans un batch, il faut les écrire %%i et %%j 
pour savoir si le commutateur /D fonctionne tape : 
Help for   dans une boîte de commandes DOS 
 
Le programme (sic) fonctionne ainsi : 
Pour tous les répertoires situés sous u: 
   début  
   Pour tous les sous répertoires 
      début 
      déplacer fichier  
      fin 
   fin 
fin. 
 
Ca te suffit comme explication ? 
Marsh Posté le 12-09-2001 à 17:06:58
merci beaucoup du temps que tu m' accorde mais ca ne marche toujours pas. 
/D marche bien  (je me suis mis sous nt) 
 
Si tu vois ce qui ne vas pas... Sinon merci quand meme 
Loic 
Marsh Posté le 12-09-2001 à 17:23:35
Exact : 
%%i prenant la valeur "u:\nom_du_rep\  et 
%%j prenant la valeur "u:\nom_du_rep\nom_du_sous_rep 
celà ne pouvait pas marcher. 
la bonne commande est :  
for /D %%i in (u:\*.*) do for /D %%j in (%%i\*.*) do move %%j\*.*  %%i 
A+ 
Marsh Posté le 12-09-2001 à 17:32:23
Conclusion : pourquoi écrire un prog en C alors que les commandes du DOS suffisent !!!  
 
Marsh Posté le 12-09-2001 à 17:35:31
oui bien vrai! 
Merci encore 
sinon tu connais pas un site francais sur la prog batch ? 
Marsh Posté le 12-09-2001 à 18:18:22
si : celui là : 
http://www.asi.fr/~dreynier/BM/BM_Accueil.html 
Mais si les exemples sont puissants, je le trouve assez mal présenté et les explications peu claires. Sur sa page de liens, j'ai trouvé celui-ci en anglais que je préfère nettement : 
http://www.robvanderwoude.com/index.html 
Attention : certains des exemples proposés ne fonctionnent qu'avec les versions anglaises de windows. 
A+ 
Marsh Posté le 12-09-2001 à 22:43:30
Merci encore! 
Je l' ai survolé et il m' a l' air pas si mal 
  
 
Marsh Posté le 01-07-2002 à 09:11:28
| JPA a écrit a écrit  : si : celui là : http://www.asi.fr/~dreynier/BM/BM_Accueil.html Mais si les exemples sont puissants, je le trouve assez mal présenté et les explications peu claires. Sur sa page de liens, j'ai trouvé celui-ci en anglais que je préfère nettement : http://www.robvanderwoude.com/index.html Attention : certains des exemples proposés ne fonctionnent qu'avec les versions anglaises de windows. A+ | 
 
lol... on connait les 2 mêmes sites sur les batchs !!! 
Marsh Posté le 01-07-2002 à 09:37:10
| BeTtASpLeNdEnS a écrit a écrit  : lol... on connait les 2 mêmes sites sur les batchs !!!   | 
 
 
c'est quoi cette remontée de vieux topic ? 
Marsh Posté le 01-07-2002 à 09:44:57
-> antp 
celà doit être une erreur du forum car je me rappelle que bettasplendens avait fait sa dernière réponse le même jour que les autres posts du topic. 
Marsh Posté le 12-09-2001 à 15:36:55
Ca fait deux heures que je réfléchi à un programme sans succès.
En voici ses "caractéristiques":
Sur une unitée u:
Il y a plusieurs 'répertoires(1)'
Dans chaque 'répertoire' un 'sous répertoire(2)'
Dans chacun de ces 'sous répertoires' une centaine d'images
Objet du programme: déplacer les images de chaque sous répertoire(2) dans le répertoire(1) parrent
Voilà j' ai donc 5000 manip à automatiser (car 5000 rép et sous rép) les noms des rép et sous rép n' ont aucun rapport entre eux, donc pas de rep001 rep002...
Si ca vous tente...
Merci d' avance
Loic