Déplacer des dossiers présents dans une liste (fichier.txt)
Résolu
pcsystemd
Messages postés
702
Date d'inscription
Statut
Membre
Dernière intervention
-
pcsystemd Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
pcsystemd Messages postés 702 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un fichier qui contient des noms de dossier sous la forme :
1
2
6
256
3548
596
24
Je souhaiterais lister le contenu de ces répertoires présents dans ce fichier et si des fichiers ou sous dossiers sont trouvés pour chacun de ces répertoires, je voudrais déplacer ces répertoires et tout leurs contenus (fichiers et sous dossiers) dans un autre dossier.
Peut être avec les commande
Une idée?
Merci
...
J'ai un fichier qui contient des noms de dossier sous la forme :
1
2
6
256
3548
596
24
Je souhaiterais lister le contenu de ces répertoires présents dans ce fichier et si des fichiers ou sous dossiers sont trouvés pour chacun de ces répertoires, je voudrais déplacer ces répertoires et tout leurs contenus (fichiers et sous dossiers) dans un autre dossier.
Peut être avec les commande
ls, find,xargmais je ne vois pas la syntaxe a utiliser
Une idée?
Merci
...
A voir également:
- Déplacer des dossiers présents dans une liste (fichier.txt)
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Déplacer barre des taches windows 11 - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
4 réponses
Salut,
En supposant que les répertoires listés sont bien dans le même répertoire où se trouve le fichier (fichier.txt) et d'où est lancée la commande ;-\
Si c'est concluant, enlève la commande
while read ligne;do find "${ligne}" -maxdepth 0 -type d ! -empty -exec echo "mv -v {} /rep/dest" \;;done < fichier.txt
En supposant que les répertoires listés sont bien dans le même répertoire où se trouve le fichier (fichier.txt) et d'où est lancée la commande ;-\
Si c'est concluant, enlève la commande
echoet les quotes doubles qui l'entourent.
Super sympa zipe31,
C'est ok.
Merci
C'est ok.
Merci
Salut zipe31,
Juste un complément et si je veux faire la meme chose avec des fichiers qui sont dans ces repertoires.
Je m'explique
Mon fichier contient une partie du nom des fichiers donc :
Je veux déplacer tous les fichiers dont le nom contient chaque ligne de ce fichier et qui sont dans différents sous répertoires du répertoire principal d 'ou je lance ma commande vers les sous répertoires places sur un autre disque et si le sous répertoire n'existe pas le créait.
Merci
Juste un complément et si je veux faire la meme chose avec des fichiers qui sont dans ces repertoires.
Je m'explique
Mon fichier contient une partie du nom des fichiers donc :
220_542_15698
220_542_189
220_542_2569
220_28_3
220_28_15
220_54_653
220_54_158977
etc..
Je veux déplacer tous les fichiers dont le nom contient chaque ligne de ce fichier et qui sont dans différents sous répertoires du répertoire principal d 'ou je lance ma commande vers les sous répertoires places sur un autre disque et si le sous répertoire n'existe pas le créait.
Merci
Merci.
J'ai fait ça mais apparemment ce la ne fonctionne pas :
Pour info le nom des fichiers sont :
t21_0_220_542_15698_2.jpg
J'ai fait ça mais apparemment ce la ne fonctionne pas :
while read ligne;do find . -maxdepth 0 -type f -name "*${ligne}*" ! -empty -exec echo "mv -v {} /rep/destiantion/" \;;done < file.txt
Pour info le nom des fichiers sont :
t21_0_220_542_15698_2.jpg
Merci mais j'ai encore un petit souci.
Je suis dans le dossier 230 et je veux déplacer tous les fichiers de la liste qui sont dans des sous repertoires du dossier 230 mais cela semble ne pas fonctionner avec la commande :
Je suis dans le dossier 230 et je veux déplacer tous les fichiers de la liste qui sont dans des sous repertoires du dossier 230 mais cela semble ne pas fonctionner avec la commande :
while read ligne;do find . -type f -name "*${ligne}*" -exec echo "mv -v {} /ref/destination/" \;;done < file.txt
Sans voir les messages d'erreurs ou du moins la sortie de la commande, difficile de se faire une idée ;-((
En réduisant la liste des fichiers et en ne ciblant qu'un répertoire, que renvoie :
En réduisant la liste des fichiers et en ne ciblant qu'un répertoire, que renvoie :
while read ligne;do find REP_UNIQUE -type f -name "*${ligne}*" -exec echo "mv -v {} /ref/destination/" \;;done < file.txt