web-dev-qa-db-fra.com

Comment puis-je déplacer tous les fichiers d'un dossier à un autre à l'aide de la ligne de commande?

Quelle est la meilleure commande pour déplacer tous les fichiers d’un dossier à un autre?

Je veux le faire à partir d'un fichier de commandes.

43
Chirag

Vous pouvez utiliser move pour cela. La documentation de help move dit:

Moves files and renames files and directories.

To move one or more files:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination

To rename a directory:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2

  [drive:][path]filename1 Specifies the location and name of the file
                          or files you want to move.
  destination             Specifies the new location of the file. Destination
                          can consist of a drive letter and colon, a
                          directory name, or a combination. If you are moving
                          only one file, you can also include a filename if
                          you want to rename the file when you move it.
  [drive:][path]dirname1  Specifies the directory you want to rename.
  dirname2                Specifies the new name of the directory.

  /Y                      Suppresses prompting to confirm you want to
                          overwrite an existing destination file.
  /-Y                     Causes prompting to confirm you want to overwrite
                          an existing destination file.

The switch /Y may be present in the COPYCMD environment variable.
This may be overridden with /-Y on the command line.  Default is
to Prompt on overwrites unless MOVE command is being executed from
within a batch script.

Voir la transcription suivante pour un exemple où, initialement, les répertoires qq1 et qq2 contiennent respectivement trois fichiers et aucun fichier. Ensuite, nous faisons la move et nous constatons que les trois fichiers ont été déplacés de qq1 à qq2 comme prévu.

C:\Documents and Settings\Pax\My Documents>dir qq1
 Volume in drive C is Primary
 Volume Serial Number is 04F7-0E7B

 Directory of C:\Documents and Settings\Pax\My Documents\qq1

20/01/2011  11:36 AM    <DIR>          .
20/01/2011  11:36 AM    <DIR>          ..
20/01/2011  11:36 AM                13 xx1
20/01/2011  11:36 AM                13 xx2
20/01/2011  11:36 AM                13 xx3
               3 File(s)             39 bytes
               2 Dir(s)  20,092,547,072 bytes free

C:\Documents and Settings\Pax\My Documents>dir qq2
 Volume in drive C is Primary
 Volume Serial Number is 04F7-0E7B

 Directory of C:\Documents and Settings\Pax\My Documents\qq2

20/01/2011  11:36 AM    <DIR>          .
20/01/2011  11:36 AM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  20,092,547,072 bytes free

C:\Documents and Settings\Pax\My Documents>move qq1\* qq2
C:\Documents and Settings\Pax\My Documents\qq1\xx1
C:\Documents and Settings\Pax\My Documents\qq1\xx2
C:\Documents and Settings\Pax\My Documents\qq1\xx3

C:\Documents and Settings\Pax\My Documents>dir qq1
 Volume in drive C is Primary
 Volume Serial Number is 04F7-0E7B

 Directory of C:\Documents and Settings\Pax\My Documents\qq1

20/01/2011  11:37 AM    <DIR>          .
20/01/2011  11:37 AM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  20,092,547,072 bytes free

C:\Documents and Settings\Pax\My Documents>dir qq2
 Volume in drive C is Primary
 Volume Serial Number is 04F7-0E7B

 Directory of C:\Documents and Settings\Pax\My Documents\qq2

20/01/2011  11:37 AM    <DIR>          .
20/01/2011  11:37 AM    <DIR>          ..
20/01/2011  11:36 AM                13 xx1
20/01/2011  11:36 AM                13 xx2
20/01/2011  11:36 AM                13 xx3
               3 File(s)             39 bytes
               2 Dir(s)  20,092,547,072 bytes free
47
paxdiablo
move c:\sourcefolder c:\targetfolder

fonctionnera, mais vous obtiendrez une structure comme celle-ci:

c:\targetfolder\sourcefolder\[all the subfolders & files]

Si vous souhaitez déplacer uniquement le contenu d'un dossier dans un autre, procédez comme suit:

SET src_folder=c:\srcfold
SET tar_folder=c:\tarfold

for /f %%a IN ('dir "%src_folder%" /b') do move %src_folder%\%%a %tar_folder%

pause
29
JosephStyons

Cette commande déplacera tous les fichiers du dossier original dans le dossier de destination.

MOVE c:\originalfolder\* c:\destinationfolder

(Cependant, il ne déplacera aucun sous-dossier vers le nouvel emplacement.)

Pour rechercher les instructions relatives à la commande MOVE, tapez ceci dans une invite de commande Windows:

MOVE /?
17
P.Turpie

Lookup move /? sous Windows et man mv sur les systèmes Unix

4
Sanjit Saluja

Vous pouvez utiliser la commande move

move <source directory> <destination directory>

Référence

3
Arun P Johny

utilisez move then move <file or folder> <destination directory>

2
ovrwngtvity

robocopy semble être le plus polyvalent. Voir c'est d'autres options dans l'aide

robocopy /?
robocopy SRC DST /E /MOV
1
Gregg