現在のディレクトリを含むすべてのファイルを現在のディレクトリから削除するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/550922

質問

現在のディレクトリを含むすべてのファイルとサブディレクトリを現在のディレクトリから削除するにはどうすればよいですか?

役に立ちましたか?

解決

GNU ツールを使用した bash では、次のようにします (ほとんどの場合安全であるはずです)。

rm -rf -- "$(pwd -P)" && cd ..

bash ではなく、GNU ツールがなければ、次のように使用します。

TMP=`pwd -P` && cd "`dirname $TMP`" && rm -rf "./`basename $TMP`" && unset TMP

これがより安全である理由:

  • 引数リストを次で終了します -- ディレクトリがダッシュで始まる場合 (非 bash: ./ ファイル名の前)
  • pwd -P だけでなく pwd 実際のディレクトリではなく、それを指すシンボリックリンクにいる場合。
  • "ディレクトリにスペースが含まれる場合は、引数を s で囲みます。

ランダムな情報 (bash バージョン):

  • cd .. 最後の部分は省略できますが、省略すると存在しないディレクトリに移動することになります...

編集:kmkaplan が指摘したように、 -- ものは必要ありません。 pwd 常に次で始まる完全なパス名を返します。 / UNIX 上

他のヒント

olddir=`pwd` && cd .. && rm -rf "$olddir"

cd ..は、あなたは、現在のディレクトリを削除することはできませんので、それ以外の場合は失敗します、必要とされます。

rm -fr "`pwd`"

私は、これはDOS / WindowsのCMDの下で可能になると思いますが、私はかなりのパイプにコマンド間でデータを方法を見つけることができません。他の誰かがそのために修正を知っているかもしれない?

FOR /F %i IN ('cd') DO SET MyDir=%i | CD .. | RD /S %MyDir%

オペレーティングシステム? * NIXベースのもので、あなたが探している「RM -rfディレクトリ/」

注: '再帰的' の '-r' フラグ危険なことができます。

あなたはその後、「RM -rf yourFolder」を使用し、ターゲットフォルダの親フォルダを戻ることができます。 または、あなたは現在のフォルダからすべてのファイルとサブフォルダを削除するには、「RM -rf *」を使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top