web-dev-qa-db-fra.com

Utilisation de xCopy pour créer une structure de dossiers complète, comprenant le nom du dossier racine et tous les fichiers

J'ai examiné quelques solutions aux questions xCopy et essayé de nombreuses méthodes différentes. (Divers caractères génériques, chemins se terminant par \, divers commutateurs xcopy dans différentes combinaisons.)

xCopy c:\Public  d:\MyNewDir\

Une fois terminé, la destination doit inclure un dossier appelé "Public" avec tous les fichiers, dossiers, sous-dossiers, etc.

Le résultat devrait ressembler à:

d:\MyNewDir\Public\(and everything inside it)

Pas comme ça:

d:\MyNewDir\(everything inside Public)

Cela semble si simple. Au lieu de cela, je ne vois jamais un dossier "public" créé. Il crée seulement tout DANS "public" ... mais jamais "public" lui-même. (J'ai beaucoup de dossiers à copier, je ne veux donc pas créer de dossiers individuels, manuellement.)

Existe-t-il une solution à ce problème simple utilisant uniquement xCopy et Windows 7?

8
LindaBB

J'ai besoin de la destination pour inclure un dossier appelé "Public"

contenant tous les fichiers, dossiers, sous-dossiers, tout.

Utilisez la commande suivante:

xcopy c:\Public\* d:\MyNewDir\Public /s /i
  • /s - Copier les dossiers et sous-dossiers

  • /i - En cas de doute, supposez toujours que la destination est un dossier, par exemple. quand la destination n'existe pas.


Lectures complémentaires

6
DavidPostill

1. Enumérer la structure des dossiers dans un fichier:

dir /ad /b /s C:\ > D:\windir.txt

2e, ouvrez D:\windir.txt dans le Bloc-notes et remplacez tout C:\ par null; sauvegarder le fichier

Troisièmement, utilisez la commande for pour recurse via windir.txt pour copier la structure et les fichiers de répertoires dans chaque répertoire:

for /f "delims=;" %a in (D:\windir.txt) do xcopy "C:\%a" "D:\MyNewDir\%a" /c /i /g /h /k /o /x /j /b /y

Vous pouvez ajouter /q si vous ne voulez pas voir les répertoires et les fichiers au fur et à mesure qu'ils sont copiés; J'aime les commentaires positifs.

1
Mark E Rohrer