トップページ > プログラム > 2015年02月12日 > RudW6Zjv

書き込み順位&時間帯一覧

19 位/214 ID中時間01234567891011121314151617181920212223Total
書き込み数0012000000000000000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【.cmd】 バッチファイルスクリプト %10 【.bat】

書き込みレス一覧

【.cmd】 バッチファイルスクリプト %10 【.bat】
974 :デフォルトの名無しさん[sage]:2015/02/12(木) 02:09:48.03 ID:RudW6Zjv
3階層に限らずに指定されたディレクトリを対象とし、
もしそこにサブフォルダとかがあったらファイルの親ディレクトリに移動だけで削除はしない
とかでいいなら
@echo off
set targetDir=xxxx
set startDir=c:\temp

pushd %startDir%
forfiles -p%startDir% -s -m%targetDir% -c"cmd /c if @ISDIR==TRUE move /y \"@PATH\%targetDir%\*\" \"@PATH\%targetDir%\..\" 2>nul&rmdir \"@PATH\%targetDir%\" 2>nul"
popd
【.cmd】 バッチファイルスクリプト %10 【.bat】
975 :デフォルトの名無しさん[sage]:2015/02/12(木) 03:31:53.28 ID:RudW6Zjv
>>974のはtargetDirに半角空白が含まれているとエラーになるので
-mtargetDir% → -m"%targetDir%"
に、また\"@PATH\%targetDir%\..\"は単に\"@PATH\"で良かった

なお、3階層目に限定したのも出来た
@echo off
set targetDir=xx yy
set startDir=c:\temp

pushd %startDir%
set baseDir=%cd%
for /f "tokens=*" %%i in ('forfiles -p%startDir% -s -m"%targetDir%" -c"cmd /c if @ISDIR==TRUE echo \"@PATH\""') do (
call :check %%i
)
popd
goto :eof

:check
pushd %1
cd ..
if "%cd%" equ "%baseDir%" goto :not3level
cd ..
if "%cd%" neq "%baseDir%" goto :not3level
move "%~1\%targetDir%\*" %1 2>nul
rmdir "%~1\%targetDir%" 2>nul
:not3level
popd
goto :eof
【.cmd】 バッチファイルスクリプト %10 【.bat】
976 :デフォルトの名無しさん[sage]:2015/02/12(木) 03:32:57.54 ID:RudW6Zjv
>>974のはtargetDirに半角空白が含まれているとエラーになるので
-mtargetDir% → -m"%targetDir%"
に、また\"@PATH\%targetDir%\..\"は単に\"@PATH\"で良かった

なお、3階層目に限定したのも出来た
@echo off
set targetDir=xx yy
set startDir=c:\temp

pushd %startDir%
set baseDir=%cd%
for /f "tokens=*" %%i in ('forfiles -p%startDir% -s -m"%targetDir%" -c"cmd /c if @ISDIR==TRUE echo \"@PATH\""') do (
call :check %%i
)
popd
goto :eof

:check
pushd %1
cd ..
if "%cd%" equ "%baseDir%" goto :not3level
cd ..
if "%cd%" neq "%baseDir%" goto :not3level
move "%~1\%targetDir%\*" %1 2>nul
rmdir "%~1\%targetDir%" 2>nul
:not3level
popd
goto :eof


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。