💡

【自動化】複数のフォルダ内のファイルを抽出するbatスクリプト

2024/10/08に公開
@echo off
setlocal enabledelayedexpansion

rem バッチファイルのディレクトリを取得
set "source_dir=%~dp0"
set "destination_dir="

rem コピー先のパスを入力
set /p destination_dir="コピー先のパスを入力してください (Enterでデフォルトのディレクトリにコピー): "

rem 入力がなかった場合、デフォルトでバッチファイルのディレクトリを使用
if "!destination_dir!"=="" (
    set "destination_dir=%source_dir%"
)

rem コピー先のディレクトリが存在しない場合は作成
if not exist "!destination_dir!" (
    mkdir "!destination_dir!"
)

rem ソースディレクトリ内のすべてのフォルダをループ
for /d %%F in ("%source_dir%*") do (
    echo コピー中: %%F
    robocopy "%%F" "!destination_dir!\" /e /z /r:3 /w:5
)

echo コピーが完了しました。
pause

Discussion