POUR LES PROS DU C++ OU DE LA PROGRAMMATION BATCH

POUR LES PROS DU C++ OU DE LA PROGRAMMATION BATCH - Programmation

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

Reply

Marsh Posté le 12-09-2001 à 15:36:55   

Reply

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

Reply

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]

Reply

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

Reply

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 ?

Reply

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

Reply

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+

Reply

Marsh Posté le 12-09-2001 à 17:27:20    

CA MARCHE!
 
Merci énnormément!

Reply

Marsh Posté le 12-09-2001 à 17:32:23    

Conclusion : pourquoi écrire un prog en C alors que les commandes du DOS suffisent !!! :lol:

Reply

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 ?

Reply

Marsh Posté le 12-09-2001 à 17:35:31   

Reply

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+

Reply

Marsh Posté le 12-09-2001 à 22:43:30    

Merci encore!
Je l' ai survolé et il m' a l' air pas si mal
 :hello:

Reply

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 !!! :D


---------------
Tout cul tendu mérite son dû
Reply

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 !!! :D




 
c'est quoi cette remontée de vieux topic ? :heink:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed