2012年5月8日火曜日

[NT系]95系の"DELTREE"同等の処理を行うには? (DOSプロンプト活用相談室LOG)


Loveさん

>早速のレスありがとうございます。
>RDコマンド、確認しました。
>これだと、「指定したディレクトリ」まで削除してしまいます。

 前回のコメントはご質問の前半、「DELTREEの代替手段」についてストレートにコメントしたもので。用事で出かけるちょっと前だったんで後半は正直なところ読みとばしてましたが(^^;、「やりたい事」をあらためて拝見してみたら、そもそもDELTREEではできない用途をお考えだったようですね。

>ちなみに、やりたい事は、My Documents、temp、デスクトップ、に存在するファイルやフォルダを、マシン起動時に自動的に削除したいのです。


私はどこからcdonts.dllを得ることができますか?

 そういうわけで、最初の発言後段のご質問へのコメントですけど、特定のディレクトリ自体は温存し、その配下のあらゆるファイルとディレクトリを削除する処理は、「Windows2000前提ならば」バッチファイルでも可能です。具体的には、

 for /D [%% | %]variable in (set) do command [command-parameters]


どのように " Windows XPのレジストリ"に入るために

 ……の構文を活用するとよいでしょう。(ほかにも何かうまい方法があるかもしれませんが)
 /Dは、ディレクトリだけ探し出すスイッチです。これを使えば、次の2段がまえの処理で、特定ディレクトリ配下のすべてのディレクトリとファイルが(Readonlyなどの属性がついていなければ)削除できることになります。(実際に使う前には十分テストしてくださいね。結果に責任持てるわけではないので……)


警告コンピュータが60秒以内にシャットダウンします

for /D %%f in (c:\temp\*.*) do if not %%f.==. rd /s /q %%f
 ↑c:\tempの下にディレクトリがあれば、それを1つずつ削除します。/qは「確認を求めない」スイッチで、/s と/qをセットにすればdeltree /y と同様に作用します。
 "if not %%f.==. "は、(もしかしたら要らないかもしれませんが)、パラメータが空の状態でrdが起動されないよう、安全のために入れてあります。

for %%f in (c:\temp\*.*) do if not %%f.==. del %%f
 ↑上のコマンドではc:\temp直下の「ファイル」は残ってしまう理屈になるので、それらをこの文で削除します。"del *.*"だと確認プロンプトが出てしまうので、1つずつ一致するファイルを削除する形式を用いています。


>コマンドプロンプトからファイルの属性を変更する「attrib」が、以前のOSだと存在していたはずですが、Win2000だと、無くなっているようです。

 なくなっていません。ちゃんとあります。Windows2000のコマンド?リファレンスをもう一度チェックしてみてくださいね。(for 文の /D スイッチ等についても同様に、コマンドリファレンスに説明がありますので、詳しくはそちらをどうぞ)

YanaKen



These are our most popular posts:

@IT:Windows TIPS -- Knowledge:これだけは覚えておきたい、コマンド ...

詳細については、「連載―Windows 2000 コマンドライン徹底活用」や、コマンド・ プロンプトのヘルプファイルなどを参照して ... 以前入力したコマンドの一部を変えて再 実行するということはよくあるので、このモードでないととても不便である。 .... フォルダを 削除する場合はrd(rmdir)を使用するが、このコマンドでは、ワイルドカードでは指定でき ず、一度に1つのフォルダしか削除できない。 フォルダ・ツリーを再帰的にすべて削除 するには、rdに/sオプションを併用する(Windows 9x/Meではdeltreeという別の コマンドになる)。 read more

2000.02.21 ====== Windows 95/98 管理人のための MS-DOS 基礎 ...

とうとう Windows 2000 が発売されました。2000 や NT では 95/98 とは 事情の異なる 部分も多いと思いますが、基本的なコマンドの使い方 .... なお、type・more とも、複数の ファイル名を指定したり、ワイルドカード を使用したりすることはできません。 .... 空にする には次に述べる del コマンドを使いますが、それが面倒ならば、 やはり次に述べる deltree コマンドを使えば、中身を自分で空にしなく てもディレクトリを消すことができます 。 read more

第 13号

コマンドリファレンスとは、コマンドの種類や入力書式、使用例などが詳細に記された、 いってみれば、コマンドの辞書のようなものです。 ... Windows2000,XPのDOS窓では 、「コマンド拡張機能」というものが働いているため、サブディレクトリを一気に作成する ことが ... コマンドはファイル名を変更するコマンドとして紹介しました(第10号) が、 ディレクトリ名を変更するときにも使うことができます。 ... に「/S」オプションがない Windows95,98,Meでは、DELTREEコマンドを使うことで、空でないディレクトリを 一気に削除できます。 read more

[NT系]95系の同等の処理を行うには? (DOSプロンプト活用 ...

さて、タイトルの通り、Windows2000のDELTREEについての質問なのですが、皆さん ご存知の ... のコマンドでRD(RMDIR)が存在しますが、これではサブディレクトリ以下に ファイルやディレクトリが存在した場合、削除することが出来ません。 read more

Related Posts



0 コメント:

コメントを投稿