2

ここ数日、Google で回答を探していましたが、どこにもアクセスできませんでした。私は 2 つの部分からなるコードの最初の部分でサブフォルダーからすべてを取り出し、次に 2 番目の部分でそれらのファイルをタイプごとに別の場所にある他のフォルダーに移動します。テスト セットアップでコードを動作させることはできますが、移動しようとしているファイルでは動作しません。スペースが含まれているファイルの名前に関係していると思いますが、よくわかりません。ここにコードがあります。みんなありがとう!

パート1

FOR /R C:\Users\Laptop02\Desktop\Folder 1 Test  %%i IN (*.*) DO MOVE %%i C:\Users\Laptop02\Desktop\Folder 1 Test

第二部

@echooff
set media=C:\Users\Laptop02\Desktop\Foder 2 Test
set jpg=C:\Users\Laptop02\Desktop\Foder 2 Test\mediadata
set xml=C:\Users\Laptop02\Desktop\Foder 2 Test\mediadata

move %dlDir%*.avi %media%
move %dlDir%*/*.avi %meia%
move %dlDir%*.mp4 %media%
move %dlDir%*/*.mp4 %media%
move %dlDir%*.mkv %media%
move %dlDir%*/*.mkv %media%
move %dlDir%*.jpg %jpg%
move %dlDir%**.xml %xml%

再度、感謝します。

4

2 に答える 2

3

名前にスペースが含まれている可能性のあるファイルを引用符で囲む必要があります。例:

move "%dlDir%*.avi" "%media%"

アップデート

そのfor部分については、

"delims=" 

このような:

FOR /F "delims=" IN (dir /b /s "C:\Users\Laptop02\Desktop\Folder 1 Test")
于 2012-12-11T18:23:05.720 に答える
2

robocopymove コマンドは優れており、上記の方法は機能しますが、マルチスレッドをサポートする次のコマンドを使用して、多くのファイルをより高速にコピーまたは移動する必要があります。

@echo off
set "source=C:\Users\Laptop02\Desktop\Folder 1 Test"
set "media=C:\Users\Laptop02\Desktop\Foder 2 Test"
set "jpg=C:\Users\Laptop02\Desktop\Foder 2 Test\mediadata"
set "xml=C:\Users\Laptop02\Desktop\Foder 2 Test\mediadata"
robocopy /s /mov /mt "%source%" "%media%" *.avi
robocopy /s /mov /mt "%source%" "%media%" *.mp4
robocopy /s /mov /mt "%source%" "%media%" *.mkv
robocopy /s /mov /mt "%source%" "%jpg%" *.jpg
robocopy /s /mov /mt "%source%" "%xml%" *.xml
pause

または、ファイルを一度だけ移動する方が高速です。

@echo off
set "source=C:\Users\Laptop02\Desktop\Folder 1 Test"
set "media=C:\Users\Laptop02\Desktop\Foder 2 Test"
set "jpg=C:\Users\Laptop02\Desktop\Foder 2 Test\mediadata"
set "xml=C:\Users\Laptop02\Desktop\Foder 2 Test\mediadata"

cd "%source%"
for /r "%~dp0" %%A in (*) do (
    if "%%~xA"==".avi" move "%%~A" "%media%\"
    if "%%~xA"==".mp4" move "%%~A" "%media%\"
    if "%%~xA"==".mkv" move "%%~A" "%media%\"
    if "%%~xA"==".jpg" move "%%~A" "%jpg%\"
    if "%%~xA"==".xml" move "%%~A" "%xml%\"
)
pause
于 2012-12-11T21:05:55.733 に答える