- ベストアンサー
FTP コマンドのスクリプトで
FTP コマンドのスクリプトによって、接続先のあるディレクトリ以下全部再帰的に消去したい場合、 どのように普通書くものでしょうか。 教えていただけたら嬉しく思います。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
失礼いたしました。コマンド間違えてました。 複数ファイルを削除するのにy/nを聞かれないように prompt として 削除したいディレクトリの最下層のディレクトリ内の ファイルを削除し、上の階層へ。 そこでもファイルを全て削除してから上の階層へ。 以下その繰り返しとなるようですね。 mdelete ディレクトリ名/* rmdir ディレクトリ名 中身のあるディレクトリは削除できないので ディレクトリ内のファイルをすべて削除してから ディレクトリの削除の流れになります。
その他の回答 (1)
- _akane
- ベストアンサー率58% (10/17)
中身が空のディレクトリなら rmdir ディレクトリ名 で削除できますが、中身のあるディレクトリを 削除するのでしたら rm -r ディレクトリ名 で可能だと思います。 しかしそのユーザに権限がないと削除できません。 権限がある場合で、強制的に削除するなら rm -rf ディレクトリ名 とすれば 削除するファイルごとに y/n を聞かれずに 削除できるはずです。
お礼
回答ありがとうございます。 やってみたのですが、接続先に対して、つまりFTPコマンド中の場合は、-r などのオプションはきかないようです。 ちなみにOSはlinuxです。 ftp 中に rm -r ディレクトリ名 とすると、 550 -r: No such file or directory というエラーが表示され、 -r をファイル名だと思ってしまうようです。 なにかよい方法はないものでしょうか。
お礼
回答ありがとうございます。 おっしゃるように、接続先のあるディレクトリ名だけを指定して、それ以下全部のファイルとディレクトリを消すのは無理そうだったので、現在接続先にあるファイルをローカル側に保存しておいて、そのリストをもとに接続先のファイルを削除するようにスクリプトを作成しました。 どうもありがとうございました。