2012-03-01 58 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是微软最新的脚本语言,它应该是非常强大的。