Equivalent du move linux pour windows

Mammouth du PHP | 737 Messages

05 août 2011, 10:52

Bonjour,

Je cherche à déplacer (pas copier) une grosse volumétrie de données, le contenu de c:/dossierA vers c:/dossierB par exemple

Est-ce possible ?

J'ai vu la commande DO XCOPY mais c'est pas exactement un "couper".

Par avance merci.

Mega
;)
Dyslexics are teople poo

ViPHP
xTG
ViPHP | 7331 Messages

05 août 2011, 11:14

Beh la commande move existe aussi sous windows... 8-|

Mammouth du PHP | 737 Messages

05 août 2011, 11:37

Ah ?

C'est avec robocopy ? A quoi ressemble la syntaxe ?

Merci à toi xTG
Dyslexics are teople poo

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 août 2011, 11:41

Sans oublier que si ton dossier B est nouvellement créé (donc vide)
et si tu souhaites y déplacer tout le contenu de ton dossier A,
il te suffit de renommer A en B. Sans bouger un seul fichier. ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 août 2011, 11:43

Code : Tout sélectionner

C:\> move dossierA\*.* dossierB
Ah, ces jeunes qui ne connaissent pas le Dos... :langue:

Mammouth du PHP | 737 Messages

05 août 2011, 11:57

J'ai "fait du dos" très jeune mais c'était pour lancer des jeux bref je maitrise le c:, le dir et le cd "truc" :D

mais voilà ce que je veux faire plus exactement :

Déplacer tous les fichiers se trouvant dans différents niveau d'une arborescence dans un seul dossier

exemple :

c:\toto
essai1
essai2
c:\toto\toto2
essai3
essai4

c:\temp

-----------------------------------------------------------------------------------------------------------------------------------
Une fois le script terminé nous devons retrouvé les fichiers essai1,2,3 et 4 dans le dossier c:\temp

c:\temp
essai1
essai2
essai3

Bien à vous,

Mega
;)
Dyslexics are teople poo

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 août 2011, 12:10

Si tu ne souhaites pas conserver dans B la sous-arborescence de A,
il te faudra faire la manip' en plusieurs fois :

Code : Tout sélectionner

C:\> move toto\*.* temp C:\> move toto\toto2\*.* temp
ou

Code : Tout sélectionner

C:\> move toto\toto2\*.* toto C:\> ren toto temp

Mammouth du PHP | 737 Messages

05 août 2011, 12:30

La problématique est de trouver l'alternative à DO XCOPY

car je ne connais pas les noms, ni les différents niveaux.

Je ne connais que le répertoire de destination.

C'est le côté récursif de la chose qui pose problème. Il faudrait comme qui dirait boucler...

Je ne sais pas si je suis clair ?

Mega
;)
Dyslexics are teople poo

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 août 2011, 13:09

Je ne crois pas qu'on puisse gérer une boucle récursive dans un batch.
Peut-être devras-tu t'orienter vers un script PHP sur des fonctions système...

Mammouth du PHP | 737 Messages

05 août 2011, 13:59

Alors sans la volumétrie j'aurai dit assurément oui car PHP, c'est du pain béni !!!

mais comme il s'agit de plusieurs GO de données je ne vais pas passer par un langage orienté web, j'ai peur de me faire bouler niveau timeout.

Qu'en penses-tu/pensez-vous ?

Mega
;)
Dyslexics are teople poo

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 août 2011, 15:27

Une autre piste :
tu crées un script PHP qui va recenser tous les sous-répertoires de ton arborescence.
celui-ci génère un fichier batch au moyen d'un simple echo dans la boucle.
Le script PHP se ferme.
Tu lances le batch.
Et hop, bonjour chez vous ! :pouce: ;)

Mammouth du PHP | 737 Messages

05 août 2011, 15:57

Si je comprends bien tu proposes de scanner mon arbo et qu'à chaque dossier j'incrémente mon batch de façon à avoir une série de commandes du style :

Code : Tout sélectionner

move dossierA\*.* dossierB move dossierA\dossierC1\*.* dossierB move dossierA\dossierC2\*.* dossierB
C'est bien ça ? C'est loin d'être con :langue:

Mega
;)
Dyslexics are teople poo

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 août 2011, 21:00

Si je comprends bien tu proposes de scanner mon arbo et qu'à chaque dossier j'incrémente mon batch de façon à avoir une série de commandes du style :

Code : Tout sélectionner

move dossierA\*.* dossierB move dossierA\dossierC1\*.* dossierB move dossierA\dossierC2\*.* dossierB
Absolument.
C'est loin d'être con :langue:
J'te l'fais pas dire !

N'est pas admin qui veut... ;)

ViPHP
xTG
ViPHP | 7331 Messages

08 août 2011, 08:23

C'est loin d'être con :langue:
J'te l'fais pas dire !

N'est pas admin qui veut... ;)
Je plussoie, on a tous essayé d'être admin, mais on est pas assez bêtes donc ils nous ont casé dans un groupe fourre-tout qui est nommé ViPHP. :(

Mammouth du PHP | 19672 Messages

08 août 2011, 10:39

...on a tous essayé d'être admin, mais on est pas assez bêtes
RIP xTG, on t'aimait bien :priere:

:langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: