デスクトップに 1 つのフォルダーがありTest
、このフォルダー内に と の 2 つのフォルダーがありますWorkingFolder\Bilder
。Station 1
したがって、構造は次のようになります。
Test\WorkingFolder\Bilder Test\Station 1
(メイン フォルダ)内にバッチ ファイルがあります。からにファイルをTest\
移動またはコピーできるようにする必要があります。 このために、 を使用しています。.jpg
Test\Station 1
Test\WorkingFolder\Bilder
XCopy
問題は、バッチ ファイルは、構造が似ているもののパス名が異なる複数のフォルダーで使用されるため、 のコピー元フォルダーの名前を使用できないことですXCOPY
。そのため、代わりに以下を使用しようとしています%~dp0
。
私のコードは次のとおりです:
md WorkingFolder\Bilder
xcopy /s "%~dp0\*.jpg" WorkingFolder\Bilder\
私が書こうとしているのは、.jpg
のサブフォルダ内%~dp0
、%~dp0
つまりバッチ ファイルがあるフォルダと、そのサブフォルダ内の画像があるフォルダ内のすべてのものをコピーしStation 1
、 に置くことですWorkingFolder\Bilder
。
問題は、ファイルがコピーされないことです。Station 1
でを直接参照した場合にのみ、ファイルがコピーされます。 のすべてのサブディレクトリを参照でき、 のサブディレクトリを参照できないようにXcopy
する必要があります。%~dp0
%~dp0\example
私を助けてください!
答え1
私はそれを信じていますxcopy
次のエラーが報告されます:
Cannot perform a cyclic copy
これは、宛先ディレクトリがソース ディレクトリ ツリー内にあるために発生します。
使ってみるのもいいでしょうrobocopy
指示代わりに、宛先ディレクトリを除外します。
robocopy "%~dp0." "%~dp0WorkingFolder\Builder" "*.jpg" /S /XD "%~dp0WorkingFolder"