2012-03-01 96 views
9

我有一個windows共享目錄,裏面有15,000個文件。我想要做的是將500個文件移動到一個新的目錄。從命令行移動文件

有沒有辦法從命令行執行此操作?

回答

14

有您需要的代碼。將其保存爲.bat文件並運行它:

echo off 
SETLOCAL EnableDelayedExpansion 
set movedFiles=0 
for /R c:\sourceFolder\ %%G in (*) do (
    echo moving... "%%G" 
    move /Y "%%G" c:\destinationFolder\ 
    set /a movedFiles+="1" 
    if !movedFiles! EQU 500 GOTO endOfCopy rem if you moved 500 files 
) 
    :endOfCopy 
    echo Done, %movedFiles% files Where copied successfully 
    pause 
ENDLOCAL 
+0

感謝您的回覆 – Villumanati 2012-03-01 17:46:12

1

當然,合適的命令被稱爲移動。語法如下:

MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 

你會寫是這樣的:

move Z:\directory\*.* c:\newdirectory 

但問題是更適合於超級用戶。

+0

但是,如何控制複製的文件數量? – Villumanati 2012-03-01 13:29:32

+0

@Villumanati它看起來我不明白你的問題。你知道你想移動哪個500個文件,還是隻想限制500個文件? – ipavlic 2012-03-01 13:32:15

+0

這個問題被標記爲不支持'MOVE'命令的Windows 7。 – cyroxx 2013-09-20 12:22:39

8

你想要一些像這樣的東西。
move c:\windows\temp\*.* c:\temp

+0

這個問題被標記爲不支持'MOVE'命令的Windows 7。 – cyroxx 2013-09-20 12:22:00

+2

@cyroxx'move'在Windows 7上受支持。 – ipavlic 2013-09-20 12:29:09

0

move命令中沒有選項顯示「移動前500個文件」。如果你想做這樣的事情,你需要某種腳本語言。 Batch是Windows命令行中的本機腳本語言,但很麻煩。 Powershell是微軟最新的腳本語言,它應該是非常強大的。