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