Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
[Résolu]question xcopy
Auteur Message
Répondre en citant
Message [Résolu]question xcopy 
bonjour
J'ai créer un batch xopy afin de pouvoir copier l'ensemble d'un dossier avec ses acl vers un autres.
Mon batch demande d'indiquer le nom de la source ainsi que le nom du dossier de destination.
Mon petit souci : comment faire pour descendre d'un niveau d'arborescence (équivalent cd..) puis de remonter d'un niveau dans un répertoire dont le nom est connu (équivalent cd toto) avant d'effectuer la copie)
J'ai bien mis ces instructions (CD.. et cd toto) dans mon batch mais l'enchainement n'est pas bon car au moment de copier l'instruction est déjà dans le répertoire de destination : et ne voit donc plus le fichier source en référence.
Je pense que ce n'est rien mais je bute sur ça... merci à quiconque pourra m'apporter son aide

voici le batch

Code:
@echo off
setlocal
set source=
set /p source=entrer le nom exact du dossier source:
if {%source%}=={} goto :end
set folder=
set /p folder=entrer le nom du dossier de destination:
if {%folder%}=={} goto :end
cd..
cd toto
echo d|xcopy %source% %folder% /e /o /i
echo la copie des fichiers s'est bien terminée
:end
endlocal


EDIT : MERCI D'UTILISER LES BALISES



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Résolu]question xcopy 
Bonjour
le multipostage n'est pas apprécié sur ce forum : http://www.batcher.fr/forum/viewtopic.php?f=4&t=258
Merci d'utiliser la balise code

et je n'ai rien compris à ton histoire de dossier toto

La commande devrait être :

Code:
xcopy "C:\toto" "D:\toto" /E  /I /O



Citation:
@echo off

set source=
set /p source=entrer le nom exact du dossier source:
if {%source%}=={} goto :end
set folder=
set /p folder=entrer le nom du dossier de destination:
if {%folder%}=={} goto :end

xcopy %source% %folder%\toto /e /o /i
echo la copie des fichiers s'est bien terminée
PAUSE & EXIST





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]question xcopy 
Bonjour
Merci de prendre du temps pour me répondrer et même si je n'en comprends pas les raisons je m'excuse d'avoir enfreins cette règle de "multipostage".
Je vais essayer d'expliquer mon problème plus clairement :

Disons que mon arborescence initiale est celle-ci
----------------------c:-------------------------------
-----------------c:\dossier1--------------------------
--c:\dossier1\dossierA---et---c:\dossier1\dossierB

dans le répertoire dossier B j'ai mon fichier batch et j'ai un répertoire toto que je souhaiterais copier à l'intérieur de dossier A.
le hic c'est que le chemin/nom de dossier n'est pas fixe c'est la raison pour laquelle mon batch demande de spécifier la source au lieu de la coder en dur puis je souhaiterais pouvoir descendre d'un niveau dans mon arborescence puis remonter dans le répertoire dossier A (qui lui est un nom fixe et donc éventuellement codable en dur) afin de copier le dossier toto.

Est-ce un peu plus clair comme ça ( oui je sais c'est un peu allambiqué mais je vois pas comment l'expliquer autrement)
merci



Répondre en citant
Message [Résolu]question xcopy 
Salut,

Résumons

tu as ton fichier batch dans un dossier "B" tu veux copier le dossier "toto" qu'il contient dans le dossier "A" qui lui n'a pas de chemin fixe & que l'utilisateur rentre.
C'est bien ça ou non ?

Batch_Man




______________________________________________________
La sécurité informatique et vous ! = http://batchdhelus.open-web.fr
Répondre en citant
Message [Résolu]question xcopy 
Oui c'est quasiment ça, sauf que pour l'instant mon batch ne demande que de rentrer le nom du dossier source et le nom que l'on souhaite donner au dossier destination ET que le nom du dossier A n'est pas changeant et ce situe toujours une arborescence en dessous de mon dossier B (il suffit d'un cd.. quand on est dans le dossier B pour redescendre d'un niveau et voir mon dossier A et B).
Mais pour répondre à la question, si il n'est pas possible de coder le batch pour le faire descendre d'un niveau puis remonter sur le dossier A avant de copier, l'idée de demander à l'utilisateur de rentrer le chemin pourrait constituer une solution valable.
merci



Répondre en citant
Message [Résolu]question xcopy 
Bonjour
je ne comprend toujours rien à ton explication et je ne comprend pas pourquoi tu mets ton bat à l'interieur de ton dossierB alors que tu peux le mettre en dehors et traiter les informations différents


J'ai utilisé ton code en indiquant que je voulais copier le dossier
C:\Wget vers ma clé usb nommé I:\Wget
Code:
@echo off

set source=
set /p source=entrer le nom exact du dossier source:
if {%source%}=={} goto :end
set folder=
set /p folder=entrer le nom du dossier de destination:
if {%folder%}=={} goto :end

xcopy %source% %folder%\toto /e /o /i
echo la copie des fichiers s'est bien terminée
PAUSE & EXIST


Si tu veux copier ton dossier toto qui est dans le dossierB il suffit de donner les informations suivantes :

C:\dossier\dossierB\toto vers destination C:\dossier1\dossierA\toto




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]question xcopy 
ok, je comprends sur quel point tu bloque.... en fait mon arborescence étant relativement complexe, j'aurais voulu trouver un moyen de ne pas avoir à entrer le chemin complet (au dela de 10 niveau cela devient fastidieux)...d'ou ma problématique de partir de la fin pour lui faire remonter l'arborescence dans laquelle il se trouve plutot que de la rentrer complètement



Répondre en citant
Message [Résolu]question xcopy 
Si ton arborescence est fixe tu n'es pas obligé non plus de les entrer manuellement et si tu dois tous les sauvegarder
tu peux stocker les liens dans un fichier txt, réaliser une boucle pour effectuer l'opération.


Sinon je pense avoir saisi ce que tu souhaites enfin expliquer.

Voici l'architecture du dossier1 avec sous dossierA, DossierB avec son sous dossier toto contenant dossiers et fichiers.

Tu remarqueras que mon fichier TEST.BAT se situe dans le dossier1.

Code:
C:\DOSSIER1
|   TEST.BAT
|   
+---dossierA
\---dossierB
    |   titi.txt
    |   
    \---toto
        |   titi.txt
        |   
        \---tatatoto
                tata.txt



Voici le code :

Citation:
@echo off
pushd %CD%
set source=
set /p source=entrer le nom exact du dossier source:
if {%source%}=={} goto :end
set folder=
set /p folder=entrer le nom du dossier de destination:
if {%folder%}=={} goto :end

xcopy %source% %folder% /e /o /i
echo la copie des fichiers s'est bien terminée
PAUSE & EXIT


Chemin saisie source : dossierB\toto
Chemin folder : dossierA\toto

Résultat :






______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]question xcopy 
Ah oui c'est vraiment ça l'idée... juste une dernière demande et ça serait parfait. Si je souhaites rentrer une partie du chemin (source ou destination) en dur dans le batch, ou faut il que je le rentre...comme suit ça n'a pas l'air de fonctionner :
Citation:
@echo off
pushd %CD%
set source=
set /p source=entrer le nom exact du dossier source:DossierB\
if {%source%}=={} goto :end
set folder=
set /p folder=entrer le nom du dossier de destination:
if {%folder%}=={} goto :end
echo d|xcopy %source% \DossierA\%folder% /e /o /i
echo la copie des fichiers s'est bien terminée
Pause
:end
endlocal


merci



Répondre en citant
Message [Résolu]question xcopy 
C'est à dire rien compris




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]question xcopy 
et bien dans l'exemple de ton dernier post :

Chemin saisie source : dossierB\toto
Chemin folder : dossierA\toto

plutot que d'avoir à saisir DossierB\toto ne saisir que toto ... le chemin préalable vers dossier B étant dans le batch (comme j'ai "essayé' de le mettre dans mon exemple en rouge)
idem pour le chemin de destination : ne saisir que toto... le chemin dossier A étant inscrit dans le batch



Répondre en citant
Message [Résolu]question xcopy 
keben a écrit:
et bien dans l'exemple de ton dernier post :

Chemin saisie source : dossierB\toto
Chemin folder : dossierA\toto

plutot que d'avoir à saisir DossierB\toto ne saisir que toto ... le chemin préalable vers dossier B étant dans le batch (comme j'ai "essayé' de le mettre dans mon exemple en rouge)
idem pour le chemin de destination : ne saisir que toto... le chemin dossier A étant inscrit dans le batch



Citation:
@echo off
pushd %CD%
:reload
set source=
set /p source=entrer le nom exact du dossier source:
if {%source%}=={} goto end1
set folder=
set /p folder=entrer le nom du dossier de destination:
if {%folder%}=={} goto end2

xcopy "DossierB\%source%" "DossierA\%folder%" /e /o /i
echo la copie des fichiers s'est bien terminée
goto fin

:end1
cls
echo enter un dossier source
goto reload

:end2
cls
echo enter un dossier de destination
goto reload

:fin
PAUSE & EXIT





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]question xcopy 
MERCI BEAUCOUPP!!!!!!! Very Happy
c'est impec et ça fonctionne nickel...
je sais que XCOPY fait de la copie...Mais y'aurait-il à ta connaissance une option à valider dans la ligne de commande qui permette de bouger un dossier plutot que de le copier ...pour qu'au final il n'existe plus dans la source?
sinon je colle un Del en fin de commande mais si l'instruction existait déjà...ça serait autant de temps de gagné...
En tout cas encore merci pour ton aide et ta patience pour essayer de comprendre ma problématique!!



Répondre en citant
Message [Résolu]question xcopy 
Je ne sais pas si avec un déplacement tu garderas les ACL.
C'est malin de penser à cela maintenant Confused
La commande interne est move : http://www.batchclipboard.info/wiki/doku.php?id=commandline:commande_move




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]question xcopy 
oui je connaissais move, mais si j'utilise cette commande je perds mes ACL et c'etait principalement ça qui m'intéressait dans la fonction XCOPY



Message [Résolu]question xcopy 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 3
Aller à la page: 1, 2, 3  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch