0
0

More than 1 year has passed since last update.

フォルダの移行バッチ組んでみた(自分用に)

Last updated at Posted at 2023-04-23

@echo off

:input_source
set /p source="コピー元フォルダのパスを入力してください: "

if not exist "%source%" (
echo "%source%"が見つかりませんでした。再度入力してください。
goto input_source
)

:input_destination
set /p destination="コピー先フォルダのパスを入力してください: "

if not exist "%destination%" (
echo "%destination%"が見つかりませんでした。再度入力してください。
goto input_destination
)

set /p foldername="新しいフォルダの名前を入力してください: "
set destination=%destination%%foldername%

if not exist "%destination%" (
mkdir "%destination%"
)

echo *******************************
echo * コピーするファイル一覧 *
echo *******************************
echo.

set /p secmove="コピー時にアクセス許可を継承する場合は/sec、移動する場合は/moveを指定してください。(指定しない場合はEnterを押してください): "
set /p secmove2="アクセス許可の継承と移動を両方行う場合は/secmoveを入力してください。(指定しない場合はEnterを押してください): "

if /i "%secmove2%"=="/secmove" (
robocopy "%source%" "%destination%" /E /COPYALL /DCOPY:T /R:3 /W:10 /V /LOG+:%~dp0\robocopy.log /L /NP /TEE /XO /XF /XD /TS /FP /BYTES /NS /NC /NJH /NJS /SEC /MOVE
) else if /i "%secmove%"=="/sec" (
robocopy "%source%" "%destination%" /E /COPYALL /DCOPY:T /R:3 /W:10 /V /LOG+:%~dp0\robocopy.log /L /NP /TEE /XO /XF /XD /TS /FP /BYTES /NS /NC /NJH /NJS /SEC
) else if /i "%secmove%"=="/move" (
robocopy "%source%" "%destination%" /E /COPYALL /DCOPY:T /R:3 /W:10 /V /LOG+:%~dp0\robocopy.log /L /NP /TEE /XO /XF /XD /TS /FP /BYTES /NS /NC /NJH /NJS /MOVE
) else (
robocopy "%source%" "%destination%" /E /COPYALL /DCOPY:T /R:3 /W:10 /V /LOG+:%~dp0\robocopy.log /L /NP /TEE /XO /XF /XD /TS /FP /BYTES /NS /NC /NJH /NJS
)

echo.
echo *******************************
set /p confirm="上記のファイルをコピー/移動しますか? (Y/N): "

if /i "%confirm%"=="Y" (
echo コピー/移動を開始します...
) else (
echo コピー/移動をキャンセルしました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0