Windows : copie de fichiers depuis un fichier
Siras
-
Siras -
Siras -
Bonjour,
J'ai un fichier texte qui contient une liste de fichiers (en chemin absolu).
Je voudrais copier cette liste vers un autre répertoire en gardant l'arborescence (idéalement en supprimant 1 niveau ou 2 ;)).
J'ai essayé un truc tout con mais ça me copie tous les fichiers au même niveau (je perds l'arborescence) :
for /f %%f in (filesToDeploy.txt) do xcopy "%%f" C:\AWS\testReleases /I /R /Y
Quelqu'un aurait-il une idée?
J'ai un fichier texte qui contient une liste de fichiers (en chemin absolu).
Je voudrais copier cette liste vers un autre répertoire en gardant l'arborescence (idéalement en supprimant 1 niveau ou 2 ;)).
J'ai essayé un truc tout con mais ça me copie tous les fichiers au même niveau (je perds l'arborescence) :
for /f %%f in (filesToDeploy.txt) do xcopy "%%f" C:\AWS\testReleases /I /R /Y
Quelqu'un aurait-il une idée?
A voir également:
- Windows : copie de fichiers depuis un fichier
- Clé windows 8 - Guide
- Montage video windows - Guide
- Fin windows 10 - Guide
- Registre windows - Guide
- Pilote son windows 10 - Télécharger - Pilotes & Matériel
4 réponses
hello
essayer ça. on crée l'arborescence au fur et à mesure. je n'ai pas testé.
essayer ça. on crée l'arborescence au fur et à mesure. je n'ai pas testé.
set dest=\AWS\testReleases
for /f "delims=" %%f in (filesToDeploy.txt) do (
set c=%%~pf
if not exist "%dest%%c%" md "%dest%%c%"
copy "%%f" "%dest%%c%
)
Merci pour votre réponse.
Ca me semble se rapprocher pas mal de ce que je souhaite mais c'est pas encore exactement ce qu'il me faut ;)
Pour être plus précis, dans le fichier filesToDeploy.txt j'ai les lignes suivantes (avec des dossiers et des fichiers) :
C:\Workspace\projectName\comptabilite
C:\Workspace\projectName\comptabilite\0.0.1
C:\Workspace\projectName\comptabilite\0.0.1\classes
C:\Workspace\projectName\comptabilite\0.0.1\functions
C:\Workspace\projectName\comptabilite\0.0.1\UI
C:\Workspace\projectName\comptabilite\0.0.1\classes\axe.xml
C:\Workspace\projectName\comptabilite\0.0.1\classes\compte.xml
Et je voudrais à l'aide d'un script, les déplacer dans l'arborescence suivante :
C:\Releases\version\comptabilite
C:\Releases\version\comptabilite\0.0.1
C:\Releases\version\comptabilite\0.0.1\classes
C:\Releases\version\comptabilite\0.0.1\functions
C:\Releases\version\comptabilite\0.0.1\UI
C:\Releases\version\comptabilite\0.0.1\classes\axe.xml
C:\Releases\version\comptabilite\0.0.1\classes\compte.xml
Ca me semble se rapprocher pas mal de ce que je souhaite mais c'est pas encore exactement ce qu'il me faut ;)
Pour être plus précis, dans le fichier filesToDeploy.txt j'ai les lignes suivantes (avec des dossiers et des fichiers) :
C:\Workspace\projectName\comptabilite
C:\Workspace\projectName\comptabilite\0.0.1
C:\Workspace\projectName\comptabilite\0.0.1\classes
C:\Workspace\projectName\comptabilite\0.0.1\functions
C:\Workspace\projectName\comptabilite\0.0.1\UI
C:\Workspace\projectName\comptabilite\0.0.1\classes\axe.xml
C:\Workspace\projectName\comptabilite\0.0.1\classes\compte.xml
Et je voudrais à l'aide d'un script, les déplacer dans l'arborescence suivante :
C:\Releases\version\comptabilite
C:\Releases\version\comptabilite\0.0.1
C:\Releases\version\comptabilite\0.0.1\classes
C:\Releases\version\comptabilite\0.0.1\functions
C:\Releases\version\comptabilite\0.0.1\UI
C:\Releases\version\comptabilite\0.0.1\classes\axe.xml
C:\Releases\version\comptabilite\0.0.1\classes\compte.xml
Finalement j'ai changé mon fusil d'épaule.
J'ai créer un fichier avec la liste des fichiers que je veux copier mais en chemin relatif.
Par exemple, dans mon fichier j'ai les lignes suivantes :
projectName\fichierA.xml
projectName\repertoire1
projectName\repertoire1\repertoire2
projectName\repertoire1\repertoire2\fichierB.xml
Et je veux copier ces repertoires et fichiers dans un autre répertoire.
J'ai essayé les méthodes suivantes sans succès :
- xcopy : me demande à chaque ligne si c'est un fichier ou un répertoire. Si je rajoute une étoile pour les fichiers, il me pause tout de même la question pour les répertoires.
- robocopy : je n'arrive pas à lui donner des fichiers en source et destination, il n'accepte que des répertoires.
J'ai créer un fichier avec la liste des fichiers que je veux copier mais en chemin relatif.
Par exemple, dans mon fichier j'ai les lignes suivantes :
projectName\fichierA.xml
projectName\repertoire1
projectName\repertoire1\repertoire2
projectName\repertoire1\repertoire2\fichierB.xml
Et je veux copier ces repertoires et fichiers dans un autre répertoire.
J'ai essayé les méthodes suivantes sans succès :
- xcopy : me demande à chaque ligne si c'est un fichier ou un répertoire. Si je rajoute une étoile pour les fichiers, il me pause tout de même la question pour les répertoires.
- robocopy : je n'arrive pas à lui donner des fichiers en source et destination, il n'accepte que des répertoires.
essayer xcopy avec l'option /i
/i Si le paramètre Source correspond à un répertoire ou qu'il contient des caractères génériques et que le paramètre Destination n'est pas spécifié, la commande xcopy suppose que le nom du répertoire de destination est destination et un nouveau répertoire est donc créé. Tous les fichiers sont ensuite copiés dans ce nouveau répertoire. Par défaut, la commande xcopy demande à l'utilisateur si la destination est un fichier ou un répertoire.
J'ai vu ce paramètre oui mais il ne me semble pas parfait.
Il fonctionne très bien si j'ai un fichier dans le sous répertoire source mais n'a aucun effet si le répertoire source est vide.
Tu vas me dire que je peux alors utiliser /e mais il crée toute l'arbo alors que je ne veux que les répertoires que je spécifique dans mon fichier .txt, qu'ils soient vides ou pas.
Il fonctionne très bien si j'ai un fichier dans le sous répertoire source mais n'a aucun effet si le répertoire source est vide.
Tu vas me dire que je peux alors utiliser /e mais il crée toute l'arbo alors que je ne veux que les répertoires que je spécifique dans mon fichier .txt, qu'ils soient vides ou pas.