it-swarm.com.de

Wie kann ich alle Dateien mithilfe der Befehlszeile von einem Ordner in einen anderen verschieben?

Was ist der beste Befehl, um alle Dateien von einem Ordner in einen anderen zu verschieben?

Ich möchte dies aus einer Batchdatei heraus tun.

43
Chirag

Sie können move dafür verwenden. Die Dokumentation von help move lautet:

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.

Im folgenden Transkript finden Sie ein Beispiel, in dem die Verzeichnisse qq1 und qq2 zunächst als drei und keine Dateien angezeigt werden. Dann machen wir die move und stellen fest, dass die drei Dateien wie erwartet von qq1 nach qq2 verschoben wurden.

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

funktioniert, aber Sie erhalten am Ende eine Struktur wie diese:

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

Wenn Sie nur den Inhalt eines Ordners in einen anderen verschieben möchten, sollten Sie Folgendes tun:

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

Dieser Befehl verschiebt alle Dateien im ursprünglichen Ordner in den Zielordner.

MOVE c:\originalfolder\* c:\destinationfolder

(Es werden jedoch keine Unterordner an den neuen Speicherort verschoben.)

Um die Anweisungen für den MOVE-Befehl nachzuschlagen, geben Sie dies in eine Windows-Eingabeaufforderung ein:

MOVE /?
17
P.Turpie

Lookup move /? unter Windows und man mv auf Unix-Systemen

4
Sanjit Saluja

Sie können den Befehl move verwenden.

move <source directory> <destination directory>

Referenz

3
Arun P Johny

verwenden Sie move dann move <file or folder> <destination directory>

2
ovrwngtvity

Verwenden Sie unbedingt Anführungszeichen, wenn der Dateipfad Leerzeichen enthält:

move "C:\Users\MyName\My Old Folder\*" "C:\Users\MyName\My New Folder"

Dadurch wird der Inhalt von C:\Users\MyName\My Old Folder\ Nach C:\Users\MyName\My New Folder Verschoben.

1
Pikamander2

robocopy scheint am vielseitigsten zu sein. Weitere Optionen finden Sie in der Hilfe

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