フォロトップ:この会議室が所属するフォロのトップページへ移動します 会議室トップ:この会議室のトップページへ移動します トピック一覧:この会議室内のトピックを一覧表示します おすすめレビュー:この会議室に関連付けられたレビューを一覧表示します 発言者一覧:この会議室に発言したことのあるメンバーを一覧表示します 会議室に参加:この会議室への参加登録が出来ます
文字サイズ変更: [] [] []
お目当てのフォロへGO! 
オフィシャル
エンタメ
スポーツ
文化・趣味
コンピュータ
くらしと健康
芸術・学問
ビズと社会
地域・年代
ノンジャンル


2008年09月30日
12:37
【92】  1196番「サブディレクトリがあったらその中身を削除するバッチ処理」について
こんにちは。

以前、質問で1196、2006年06月29日(木) 17時35分にありました、「れおん」さんの質問で、子、孫フォルダ内にあるファイルの削除方法が
示されていましたが、自分が行った場合、フォルダ構成の途中から処理できず、ドライブの頭から処理されました。例えば「I」ドライブの「temp」フォルダ内に以下の内容のバッチファイルを作成し、ダブルクリックしたところ、「I」ドライブにじかに格納されているファイルも削除されてしまいました。全くの初心者で、どのように変更すればいいのか分かりません。

dir /s /a-d >NUL 2>NUL %OUTDT_HOME%\%1 || goto NOFILE
set /p ANS=DELETE ALL(Y/N)?
if /i "%ANS%"=="Y" del /s /q %OUTDT_HOME%\%1
:NOFILE

どうかご指示のほどよろしくお願いいたします。
コメント
2008年10月01日
10:43
そのまま実行すると「%OUTDT_HOME%(変数)」と「%1(パラメータ)」が
空の状態なので全部消えてしまいますので、以下のように変数に値をセット
してから実行しないとダメですね^^;
-----------------------------------------------------------
@echo off
set OUTDT_HOME=I:\temp
dir /s /a-d >NUL 2>NUL %OUTDT_HOME%\%1 || goto NOFILE
set /p ANS=DELETE ALL(Y/N)?
if /i "%ANS%"=="Y" del /s /q %OUTDT_HOME%\%1
:NOFILE
-----------------------------------------------------------

また、I:\tempの中にBATファイルを置いて実行するとBATファイル自体も
削除されますので、1つ上のI:\に置いて実行するといいかもです。

ちなみにパラメータの使い方ですが「ファイル名を指定して実行」や
コマンドプロンプトで「I:\test.bat *.tmp」と入力して実行すると
全ファイルではなく、拡張子が「.tmp」のものだけ削除することが可能です。
すべて表示 1番~1番を表示
 コメントするにはfolomyへの会員登録ならびにログインが必要です。 folomyに入会する
ログインする(すでに登録済みの方)
----