2012-03-01 8 views

答えて

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

1

確かに、適切なコマンドはmoveと呼ばれます。構文は次のようになります。あなたのようなものを書くと

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

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

しかし、問題は、スーパーユーザーのためのより適切です。

+0

どのようにコピーするファイル数を制御しますか? – Villumanati

+0

@Villumanati私はあなたの質問を正しく理解していないようです。どの500ファイルを移動したいのか知っていますか、または500に制限したいだけですか? – ipavlic

+0

この質問は 'MOVE'コマンドをサポートしていないWindows 7のタグが付けられています。 – cyroxx

8

このようなことがいくつかあります。
move c:\windows\temp\*.* c:\temp

+0

この質問は、 'MOVE'コマンドをサポートしていないWindows 7のタグが付けられています。 – cyroxx

+2

@cyroxx 'move'はWindows 7でサポートされています。 – ipavlic

0

moveコマンドには「最初の500ファイルを移動する」というオプションはありません。このようなことをしたい場合は、何らかのスクリプト言語が必要です。 Batchは、Windowsコマンドラインのネイティブスクリプト言語ですが、面倒です。 Powershellはマイクロソフトの最新のスクリプト言語ですが、かなり強力です。

関連する問題