[batファイル]フォルダの複製2


前回、
フォルダの位置を絶対パスで指定してフォルダの複製ができました

次にbatフォルダある場所を取得して、
そこをカレントディクトリ(現在の位置のディクトリ)にするようにしました。

cd 絶対パス
xcopy /t /e "素材" "書き出し"

cd /d %~dp0
xcopy /t /e "素材" "書き出し"

にするだけで、どこのフォルダでもフォルダの複製ができました~~~~!
正直、仕組みはよくわかってない!

参考にした記事はこちら
カレントディレクトリをバッチファイルのディレクトリにする/強火で進め

  • わかったこと

    • %0 にバッチファイル自身のファイルパスが格納されている。
    • /d のオプションを指定すると、cdだけではできない、ドライブの変更もできる。
  • わからないこと

    • 記述が%0ではなくて%~dp0であること

%~dp0 は %~d0 (ドライブ名)と %~p0 (パス名)を組み合わせた記述方法の様です。

と、記事にはあるのでそういうもの、と思ったほうがいいんでしょうか。

追記

xcopy /t /e "素材" "書き出し"

だけでも動きました。