Page 1 sur 1

"Extraire" les fichiers d'un dossier

Posté : sam. 14 févr. 2015 21:25
par Drarig29
Bonjour, est-il possible d'ajouter une entrée dans le menu contextuel des dossiers qui permet d' "extraire" les fichiers d'un dossier ?

Par exemple, j'ai ceci :

Image

Le dossier "Exemple de dossier" contient 20 fichiers texte, et j'aimerais, très rapidement, les copier à l'extérieur de ce dossier. Je fais alors clique droit sur le dossier, et ceci s'affiche dans le menu contextuel :

Image

Je clique alors sur "Extraire ici" et j'obtiens ce résultat :

Image

Est-ce possible de créer ceci ? J'ai pensé à créer un fichier .bat pour copier le contenu et seulement le contenu d'un dossier "à côté" du dossier en question, à ajouter une clé dans le registre pour exécuter mon fichier .bat avec le nom de dossier en argument... Enfin bref, pouvez-vous me mettre sur la voie ? :D

Merci d'avance !
Drarig29

Re: "Extraire" les fichiers d'un dossier

Posté : dim. 15 févr. 2015 00:36
par Alain Quarré
Tout d'abord, je tiens à savoir l'utilité de cette fonction?

Fonction que voici, copie ceci dans un ficher .reg

Code : Tout sélectionner

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\CopyHere\command]
@="cmd.exe /C robocopy \"%1\" \"%1\\..\" /e /TEE /XX /NP /log+:\"%1.log\" /NDL /R:0 /W:0&timeout 40"

et fusionne ledit ficher avec le registre, la commande CopyHere apparaitra dans le clic droit sur un dossier.

Mais, pourquoi???

Alain

Re: "Extraire" les fichiers d'un dossier

Posté : dim. 15 févr. 2015 03:17
par Drarig29
Merci beaucoup de ta réponse ! C'est (presque) parfait :D J'ai enlevé deux trois petits arguments. Ce qui donne maintenant :

Code : Tout sélectionner

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Extraire ici]
"Icon"="C:\\Windows\\Icons\\explorer.ico"

[HKEY_CLASSES_ROOT\Directory\shell\Extraire ici\command]
@="cmd.exe /C robocopy \"%1\" \"%1\\..\" /e /xx /r:0"
(Pour ceux qui veulent, si jamais... vous pouvez télécharger le fichier "explorer.ico" ici : https://dl.dropbox.com/s/bfdweu3z66ee86 ... r.ico?dl=0)

Si je peux encore t'embêter Alain, est-ce possible de déplacer une "ligne" dans le menu contextuel, en gros, de lui donner un index ?
Et est-ce possible de ne pas montrer l'invite de commande qui exécute le robocopy ?
Pour finir, j'aimerais également avoir une fonction pour "Vider un dossier". C'est-à-dire qu'au lieu de seulement copier le contenu du dossier "à côté" de ce dernier, j'aimerais également vider le contenu du dossier... Est-ce possible en une seule commande ? Si oui, laquelle ? (j'essaierai de me débrouiller pour l'adapter au registre) Si non, est-ce possible dans le registre d'exécuter plusieurs commandes à la suite ? (du genre, le robocopy, et ensuite, on supprime le contenu...)

En tous cas, merci beaucoup pour ta réflexion ;)
Si jamais j'en demande trop, dis-le moi :P

PS : Tu voulais savoir pourquoi cette question ? Une petite explication : J'en ai juste assez de devoir aller dans un dossier pour tout sélectionner, copier et coller autre part... Je me suis dit : "Pourquoi pas ajouter quelque chose dans le menu contextuel, tant que j'y suis..." mais je n'ai pas trouvé de réponse à ma question, c'est pour cela que je me retrouve ici, à demander ton aide :)

Re: "Extraire" les fichiers d'un dossier

Posté : dim. 15 févr. 2015 16:47
par Drarig29
J'ai réussi à faire ceci :

Code : Tout sélectionner

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Vider ici]
"Icon"="C:\\Windows\\Icons\\explorer.ico"

[HKEY_CLASSES_ROOT\Directory\shell\Vider ici\command]
@="cmd /c xcopy /e /r /y /k \"%d\\*\" \"%w\" & rmdir /s /q \"%d\\\""
Ceci sert à vider le contenu du dossier à côté de ce dernier, et le supprime !

Re: "Extraire" les fichiers d'un dossier

Posté : dim. 15 févr. 2015 19:54
par Drarig29
Bon bah merci beaucoup pour ton aide, tu m'as bien lancé et j'ai terminé tout seul, comme un grand :D

J'ai fini par utiliser NIRCMD pour cacher la fenêtre CMD...

Voici le code à mettre dans le fichier .reg :

Code : Tout sélectionner

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Extraire ici]
"Icon"="C:\\Windows\\Icons\\explorer.ico"
"Position"="Top"

[HKEY_CLASSES_ROOT\Directory\shell\Extraire ici\command]
@="nircmd exec hide cmd /C robocopy \"%1\" \"%1\\..\" /e /xx /r:0"

[HKEY_CLASSES_ROOT\Directory\shell\Vider ici]
"Icon"="C:\\Windows\\Icons\\explorer.ico"
"Position"="Top"

[HKEY_CLASSES_ROOT\Directory\shell\Vider ici\command]
@="nircmd exec hide cmd /c xcopy /e /r /y /k \"%d\\*\" \"%w\" & rmdir /s /q \"%d\\\""
Pour télécharger NIRCMD : http://www.nirsoft.net/utils/nircmd.html

Re: "Extraire" les fichiers d'un dossier

Posté : lun. 16 févr. 2015 12:37
par Alain Quarré
Très bien cela...
Tu as la méthode, et tu as fais avec selon tes besoins!

Rien à ajouter

++
Alain