1 votes

commande en ligne pour déplacer tous les fichiers, répertoires et sous-répertoires

J'essaie de créer un fichier batch qui doit déplacer les fichiers ET les répertoires + tous les sous-répertoires d'un endroit à un autre.

Par exemple, disons que j'ai ceci :

C:\Source\abc.files  
C:\Source\Dir1\abc2.files  
C:\Source\Dir1\Sub1\abc3.files  
C:\Source\Dir2\xyz.files  

Lorsque j'utilise move C:\Source\*.* C:\Dest\ UNIQUEMENT abc.files apparaissent dans le dossier de destination. J'ai besoin de tout le contenu de Source répertoire avec le contenu de TOUS ses sous-répertoires

Les solutions tierces (en dehors de DOS) sont acceptables... si elles sont gratuites et sans virus. =)

1voto

Cameron Tacklind Points 226

Vous rencontrez ici deux problèmes.

La première est que vous avez dit à move pour ne copier que les fichiers dont le nom correspond à l'option *.* modèle. Dir1 et Dir2 les deux ne correspondent pas *.* . (Ni l'un ni l'autre n'a de " . "(point) dans le nom). @Seth l'a signalé dans un commentaire sur votre article original.

Le deuxième problème est que move n'a pas un comportement sain (imho) lorsque vous lui demandez de déplacer un dossier et un fichier en même temps. Move refuse tout simplement de déplacer un dossier si quelque chose d'autre essaie d'être déplacé en même temps :

Déplace un répertoire dans un autre répertoire :

move C:\Source\Dir1 C:\Dest\

(maintenant C:\Dest\Dir1 existe)

Ne déplace que les fichiers de niveau supérieur à l'intérieur C:\Source\ :

move C:\Source\* C:\Dest\

(maintenant C:\Dest\abc.files existe)

Produit une erreur de syntaxe lorsque vous essayez de déplacer deux dossiers à la fois (aucune des deux syntaxes ne fonctionne pour moi)

move C:\Source\Dir1,C:\Source\Dir2 C:\Dest\
move C:\Source\Dir1 C:\Source\Dir2 C:\Dest\

La documentation pour move suggère que vous puissiez spécifier plusieurs fichiers et dossiers à déplacer en même temps à l'aide d'une virgule ( , ) séparant les fichiers à déplacer, mais cela ne semble pas fonctionner pour moi.

La documentation indique Moves files and renames files and directories. suggérant qu'il ne peut vraiment pas déplacer les répertoires...

Je ne pense donc pas qu'il y ait une solution qui fonctionne pour vous avec la move disponible sur les machines compatibles DOS. Il existe cependant d'autres commandes plus récentes disponibles dans les versions plus récentes de Windows qui pourraient fonctionner. xcopy est très populaire. Malheureusement, cela ne fonctionne pas pour moi car xcopy n'effectue pas de déplacement au niveau du système de fichiers, il se contente de copier puis de supprimer l'original. Cela convient pour les petits fichiers, mais peut s'avérer désastreux pour les fichiers plus volumineux.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X