2014-09-12 280 views
0

我正在使用下面的內容,但它只移動源文件夾中的文件而不是文件夾。是否有任何可添加的內容?將文件夾中的文件和文件夾移動到另一個文件夾的批處理文件

move "C:\source\*" "C:\destination\" 
+0

你需要使用xcopy – Donal 2014-09-12 15:55:31

+0

但是不會使用複製而不是移動?我正在做這個移動非常大的視頻文件 – 2014-09-12 15:59:02

+0

移動「C:\ source \ *」「C:\ destination \」只移動文件而不是文件夾 – 2014-09-12 16:03:54

回答

1
@echo off 
    setlocal enableextensions disabledelayedexpansion 

    set "source=c:\source" 
    set "target=c:\destination" 

    (if not exist "%target%\" md "%target%") && (
     pushd "%source%" && (
      for /f "delims=" %%a in ('dir /a /b *') do move "%%a" "%target%\" 
      popd 
     ) 
    ) 

確保目標文件夾存在,則,如果源文件夾是入店,活動目錄改變到源文件夾,以及用於在其內部的每個元素,執行移動操作到目標文件夾

+0

@foxidrive,你是對的,更新代碼。 – 2014-09-15 07:14:15

1

這是另一種方法:首先在樣本文件夾上對其進行測試。

robocopy "C:\source" "C:\destination" /move /s 

編輯:的Robocopy複製文件,然後刪除原始,所以需要很長的時間對於大文件,即使源和目標位置是相同的硬盤上。

+0

在這種情況下'robocopy'的問題是大文件(來自評論)。 'robocopy'幫助指出移動操作執行一個副本然後刪除。 – 2014-09-14 14:01:33

+0

@MCND你真的很棒。我很驚訝寫robocopy的人很聰明。 – foxidrive 2014-09-15 06:45:56

相關問題