うまくいかなかったノードスクリプトを実行していて、次のようなフォルダ構造を作成しました。
\myfolder
\myfolder
\file.txt
\myfolder
\file.txt
\myfolder
\file.txt
\etc.
これは300回以上ネストされていると思いますが、それ以上ではないと思います。
ファイルパスが長すぎるため、del
できません。
robocopy
は実際にはこの時点でフリーズするため、使用できません。
どうやらファイル専用なのでFileAssassin
は使えません。
この回答から.batスクリプトを使用してみました 非常に深くネストされているフォルダーを削除し、「ファイル名が長すぎる」を回避するにはどうすればよいですか? 、それはまだ実行されていますが、すべてのサブフォルダーの名前が1文字に変更された場合でも、フォルダーが存在する再帰のレベルは、260(または制限が何であれ)より長くなります。
このproblem
をファイルシステムから削除するにはどうすればよいですか?
[〜#〜]編集[〜#〜]
DeepRemoveは成功しました!勝利! 3,421レベルの再帰。ジーシュ!これからは、nodejs(またはファイルシステムのプログラムによる変更)にもっと注意を払います。再帰が含まれる場合!
後世のために私は共有しています SiloSixのソリューション 。
彼は、フォルダー構造を移動し、一度に小さなチャンクを削除するためのbatファイルを作成しました。シンプルで美しいです。 (処理するフォルダーも数千個ありました。)
それは2分未満で私の問題に取り組みました。
REM https://superuser.com/users/151251/silosix
D:
REM CD deep into the problem directory...
cd D:\a\calculator.sikuli\calculator.sikuli\calculator.sikuli\calculator.sikuli
REM Move the rest of the problem dir to a temporary parent folder
move /-Y calculator.sikuli D:\b
REM CD to the temp folder
cd D:\b
REM delete the section of problem-dir above
rd /s/q D:\a\calculator.sikuli
REM Move the rest of problem-dir back to Origin
move /-Y calculator.sikuli D:\a
REM Call the script until problem directory is gone!
call D:\remdirs2.bat
REMタグは単なるコメントであり、好きなように残したり取り出したりすることができます(これを見つけた次の人がバットスクリプトに精通していない場合)。