問題タブ [rmdir]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
157 参照

php - ディレクトリとその中のディレクトリを削除する

ディレクトリとそのすべてのサブディレクトリを削除したい。

残念ながら、これは機能しません。ディレクトリが空ではないという 2 つのエラーが表示されます。更新するとエラーが 1 つだけになり、もう一度更新するとエラーは発生しなくなります。


何が起こっているかというと、前のタスクが実行される前にスクリプトが親ディレクトリを削除しようとするため、フォルダーが空ではなくなります。これを修正するにはどうすればよいですか?

0 投票する
1 に答える
703 参照

php - PHPは空の親ディレクトリを再帰的に削除します

問題の背景

ユーザーがファイルを保存および削除できるマルチメディア Web アプリケーションがあります。保存されたファイルは、さまざまなアプリケーション全体の機能に使用されます。

ファイルが保存されると、ディレクトリ ツリーの奥深く (通常は 6 ~ 9 フォルダの深さ) に配置されます。ファイルは、ファイル構造を見て管理者/スーパーユーザーが簡単に区別できるように、また既存の手動システムと一致するように、非常に深いレベルに配置されています。

たとえば、 「 UploadedAssets
」はルート ディレクトリであり、次のフォルダー構造を含めることができます

blah_only\item1\image02.png \ith
\sp\cookery\ckpe\interactives\timestep\blah_only\item2\image03.png \ith\
sp\cookery\abcd\interactives\timestep\blahblah\item1\image66.png

  1. 最初の 5 つの名前は、ユーザーが (動的なドロップダウン メニューから) 選択可能で、それぞれ約 20 ~ 25 のオプションから選択できます。
  2. 最後の 3 つは、ユーザーの入力 (カテゴリ、タイトルなど) によって異なります。これは、テキスト入力フィールドを使用してユーザーから受け取ります。これらは、1 つまたは最大 4 つのディレクトリにすることができます。
  3. 最後のディレクトリ「item1」には 1 つ以上のファイルを含めることができます、サブディレクトリは含めることができません
  4. 最後のディレクトリ (item1) を除く各ディレクトリには、他のサブディレクトリを含めることができます
  5. ファイルを削除/削除すると、明らかにプログラムはファイルの場所のフルパスを知っています。

可能なディレクトリ名オプションの数が原因で、テスト フェーズであっても、ルートの「UploadedAssets」ディレクトリが爆発し、空の未使用のディレクトリとデッド ブランチがたくさんあります。


私の質問は

ユーザーがディレクトリから 1 つまたは複数のファイルを削除すると (例: item1image01.png )、

  1. 削除されたファイルからツリーをたどり(まっすぐな親にのみ移動)、空の場合は親ノードを削除するにはどうすればよいですか。
  2. ディレクトリの1つに他の子/ファイルがある場合は削除中に、そのディレクトリを削除せずにプロセスを終了します。
  3. 事前に定義されたルートディレクトリで停止する削除中 OR
  4. nディレクトリ レベルまで上がったら停止

たとえば、上記のディレクトリ構造の例では、
ユーザーがimage01.pngを削除した場合、 item1blahblahディレクトリを削除する必要があります。ユーザーがimage02.png
を 削除した場合、ユーザーがimage66.pngを削除した 場合、親の item1 ディレクトリのみ削除し、すべての親を削除する必要があります。 abcdを含むディレクトリ


私の試み/研究

PHPのrmdirを使用して単一のディレクトリを削除する方法を知っています。しかし、問題を解決するために再帰的に使用する方法を考えることができませんでした。

私は次のことについて頭を悩ませようとしましたが、それらのいずれかが私の問題 PHP に適合するかどうかわかりません: ディレクトリ内のすべてのファイルのリンクを解除し、そのディレクトリを削除します。

ファイルを削除してからディレクトリを削除する

http://php.net/manual/en/function.glob.php

https://stackoverflow.com/a/4490706/2337895

0 投票する
2 に答える
1006 参照

windows - Windows: 複数のサブフォルダーに共通のフォルダーを削除する

これを行う方法はありますか?私はそのようなフォルダ構造を持っています:

そして、すべての「Folder/」とその内容をすべて削除したいと考えています。私の最初の推測は

*でエラーを受け取りました。これは過去数日間に数回出てきたので、各フォルダーに入るよりも効率的な方法が得られると考えました。それは面白くないからです。

0 投票する
1 に答える
783 参照

c - プログラムの終了後に rmdir がフォルダーを削除するのはなぜですか? (Win7 で Dev C++ を使用)


myremoved という名前の関数を作成しようとしています。空でないフォルダを削除したい。
関数 (以下のコード) を使用してすべてのファイルとフォルダーを削除すると、「rmdir」はフォルダーが削除されたと言いますが、Windows エクスプローラーを開くと、削除されたと報告されているフォルダーがまだそこに存在することがわかりました (私はアクセスしようとしましたが、拒否されました。)

これは関数「myremove」コードです。

0 投票する
1 に答える
2088 参照

perl - perl スクリプトを使用してファイルを再帰的に削除する

perl スクリプトで「rmdir」のみを使用して、ディレクトリ内のすべてのファイルを削除したいと考えています。最初にディレクトリをクリーンアップしてから、ファイルを書き込もうとしています。rmtree (" directory path"); を使用できることはわかっています。しかし、私はそれをFTPサーバーに使用できません(Net::FTP;を使用してください)。rmdir は空のディレクトリを探します。「remove_tree」と「rm -rf」を試しました。サーバーへの読み取り/書き込みアクセス権はありますが、ファイルを削除できません。

Perl スクリプト:

0 投票する
0 に答える
306 参照

php - PHP スクリプトを使用してホスト内のファイルを削除できませんか?

このコードを使用して、ホストスクリプトでファイルとフォルダーを削除しましたが、フォルダーは正常に削除されましたが、スクリプトはホストでファイルを削除できません。
これは私のコードです:

ホストの既定のアクセス許可は、フォルダー 755、ファイルの場合は 644 です。ファイルのアクセス許可を他のものに変更しましたが、それでも機能しません。

0 投票する
1 に答える
20 参照

centos - このシンボリックリンクを削除するにはどうすればよいですか

シンボリックリンクを作成し、それを使用して削除しようとして いますが、 Is a directoryrm /WebRootというエラーが表示されますが、試してみるとNot a directoryというエラーが表示されます。rmdir /WebRoot

ここで何が起こっているか知っている人はいますか?

ここに画像の説明を入力

0 投票する
1 に答える
250 参照

nsis - ディレクトリがファイルマネージャで開いているときのNSIS RMDir

RMDir と RMDir /r でディレクトリを削除するアンインストーラがあります。デバッグ中に、ディレクトリがWindowsエクスプローラーのようなファイルマネージャーで開かれている場合、両方の機能が機能しないことに気付きました。ディレクトリは削除されません。

なぜこれが起こるのですか?これに対して私は何ができますか?