「フォルダ解体コマンド」

久々のバッチスクリプト。というか、ブログ自体が2ヶ月ぶりか。

ビデオレコーダーは、東芝RD機を使っているが、これには「フォルダ解体」という機能がある。フォルダの中のファイルを外に出して、フォルダを空にしてからそのフォルダを削除する。

これは、Windowsのファイル整理にも便利ではないかと思って作ってみた。SendToフォルダーに入れて使う。


解体の他に、空のフォルダを削除したい場合に、「本当に空かを確認してから消す」という目的にも使える。

@echo off
setlocal
pushd %1
if ERRORLEVEL 1 (
  echo フォルダに移動できません
  goto end
)

set ERR=NO
for %%A in (*) do if exist "..\%%~nxA" (
  echo ファイル名が重複します:"%%~nxA"
  set ERR=YES
)
for /d %%A in (*) do if exist "..\%%~nxA" (
  echo フォルダ名が重複します:"%%~nxA"
  set ERR=YES
)
dir /ah >NUL 2>NUL
if not ERRORLEVEL 1 (
  echo 隠しファイルがあります
  set ERR=YES
)
if %ERR%==YES (
  echo フォルダを解体できません
  goto end
)

for /d %%A in (*) do echo %%A\ & move /-y "%%A" .. 
move /-y * .. 2>NUL

set DIR=%CD%
pushd ..
echo rmdir "%DIR%"
rmdir "%DIR%"
if ERRORLEVEL 1 (
  echo フォルダを削除できません:"%DIR%"
  goto end
)
:end
pause