Ψ(`∀´)Ψケケケ と (´・ω・`)ショボーン

AviUtl用のスクリプト配布やBlender、自作PCのパーツやガジェットの情報を配信中

 

【ファイル・フォルダ操作】パスが長すぎて削除できないとき【覚書】

Edit Category (´・ω・`)ショボーン

先日、とあるプラグインを使用中のソフトにインストールしようとしたところ、ソフトがフリーズ(正確には違うけど)した。その後、プラグインをインストールしようとしたフォルダを確認したのだけれど、エクスプローラ上からは確認できないくらいに同名のフォルダが作成されていた。

 

どんな状態だったかというと、

C:\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge
\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\hoge\
hoge\hoge\hoge\hoge\……(最後を確認できず)

といった感じ。

 

予期せぬ状態なので、これを削除しようとしても削除はできず、パスが長いというのでフォルダ名を短くしても、その分、新たなフォルダを読み込んでしまい、エクスプローラが非常に重くなる……という始末で手に負えなかった。

で、ネットで検索(検索用語:フォルダ 削除 長すぎ(深すぎ) 削除)をかけてみると、同様の症状でヒットするページが幾つかあり、その中にMSのサポートもあった。

 

 

どうやらWindowsで使用可能なMAX_PAHTの値を超過してしまっているらしい。対応策としては幾つか記載されていて、読み込める一番下のフォルダを共有にしたり、ネットワークドライブに設定したりして、他のPCやタブレット等から削除したり、一番下のフォルダを同じドライブの別のフォルダ(フォルダ名が異なる場所)に移動して、上の部分を削除したり……といった方法があった。

記載されている幾つかの方法で確かに一部のフォルダを削除できたものの、残念ながらループ処理で作成されてしまったフォルダは多すぎて、余りにも時間がかかり、どれも有効な手段にはならなかった。また、ツールを使った削除にしても、有効的な処理をしてくれるフリーソフトは見つからず、完全にお手上げ。

どうしたものかと悩んでいたところ、javaで書かれた再帰的にフォルダやファイルを削除してくれるコードが公開されていて、それを試してみたところ、今までの苦労は何だったのか……というほどに簡単に処理してくれた。ありがたや~ありがたや~。


Javaでディレクトリ(サブフォルダやファイルを含む)を削除してくれるコード

引用元:Javaでディレクトリを確実に削除するコード - my-notebook

static public void main(String[] args){
         delete(new File(“mydir”));
}

static private void delete(File f){
         if(f.exists()==false){
                 return ;
         }

         if(f.isFile()){
                  f.delete();
         } 

         if(f.isDirectory()){
                  File[] files = f.listFiles();
                  for(int i=0; i<files.length; i++){
                             delete(files[i]);
                   }
                   f.delete();
         }
}

※ 動作にはJavaの動く環境が必要。また、コンパイルされていないので、実行するにはコンパイルする必要あり。『 “ 』で囲まれたmydirの部分を、削除したいパスと入れ替えて実行してやる。

※ 消したいフォルダ(ディレクトリ)のパスが『E:\hoge\hoge2』だったら、mydirには『E:\\hoge\\hoge2』とする。

まとめ

今回はネットで検索して出てきた結果通りにフォルダの共有やネットワークドライブ化、フリーソフトの使用を試してみたものの、サブフォルダ数が膨大に作られていたためにその効果は今ひとつだった。

上記のコードを使用するには、.Javaのファイルをコンパイルできる環境が必要だけど、その手のフリーソフトでもエラーが出て不可だったフォルダの削除が簡単にできるので、Javaの開発環境が既にあるのであれば、非常にオススメ。

まあ、プログラミングできる人は自分で簡単にソースが書けるので、あれかもしれないけど。ただ、フォルダの削除にあれこれと時間を費やす(いろいろな方法を試したり、手動で削除を試みたり)のであれば、プログラミングを学ぶひとつの機会として、Javaでプログラミングできる環境を整えてみるのもいいかもしれない。

ちなみにプログラミングができなくても、大抵の解説サイトの初期にある『導入』と『Hello Worldの表示』の部分まで進めば、上のコードを使ってコンパイル・実行するだけなので、総合的に必要な時間は少なくなる……はず。

 

 

関連記事
スポンサーサイト

Newer Entry【自作PC】DDR3-1600よりも速くて、値頃感のありそうなメモリ【メモリ】

Older Entry【AviUtl】炎上しながら登場、焼け焦げながら退場といった感じの演出【拡張編集】

Comments


Trackbacks

 
06 2017
SUN MON TUE WED THU FRI SAT
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

05 07


 
 
PLAY ARTS改 BATMAN™: ARKHAM KNIGHT バットマン™
PLAY ARTS改 BATMAN™: ARKHAM KNIGHT バットマン™ PVC製 塗装済み可動フィギュア
 
注意事項

紹介されているフリーソフト、スクリプトをインストールするときは、フリーソフトの説明および注意事項を熟読し、自己責任においてご利用下さい。



記事:Amazonギフト券の期限など
特価情報:各ジャンル・タイムセール

 
ワンパンマン 戦慄のタツマキ 1/8スケール PVC製 塗装済み完成品フィギュア
 
配布中のAviUtl用のZIPがDLできない件
どうもzipを置いていたサイトを単なるファイル置き場にしてしまったのが悪かったようで、直接ブログからダウンロードできなくなってしまったようです。 ファイルを保存していた『ultramarinepig.web.fc2.com』の

トップページ(リンク)

に各DLLへのリンクを貼ったリストを作りましたので、ブログのDLの項目からダウンロードできない場合はそちらからダウンロードしてください。

ファイル名はブログのDLリンクに表示されるものと同じですので、それを選択してもらえれば……お手数ですが、よろしくお願いします。m(_ _)m
 
オススメ
















 
 
人気記事
 
 
ブログ内検索
記事を探すときは、キーワードで検索をかけると速くて便利です。
 
 
 
ブログ内検索
記事を探すときは、キーワードで検索をかけると速くて便利です。
 
 
動画編集・3DCG向け自作PC構成2017夏(Ryzen R7 第一世代)
8コア16スレッドのAMD Ryzen R7 1700で組むコスパの良い自作PC。

注意点としては現在発売されているRyzenはAPUではなくCPUなので、GPUが必須であること。また、CPUクーラーはAM4(Ryzenの規格)に未対応のものがある(下記のH60はOK)ため、メーカーの公式サイトで対応状況を要確認。

現在、未対応でもオプションのプラケットが発売されることもあるようなので、今使っているCPUクーラーが使えないとは限らないことも留意。

(AM4 Ryzen対応)



記事:CPUの『殻割り』に使うグリスの候補【OC 殻割り】



 
オススメのフリーソフト
ブラウザ(お好みで。複数可)
Firefox
Opera
Sleipnir
ファイアウォール(必須)
Comodo Internet Security
ZoneAlarm
Outpost Security Suite FREE
アンチウィルスソフト(必須)
avast! 4 Home Edition
avira 無料版
AVG Anti-Virus Free Edition
レジストリ保護&クリーナー(必須)
Spybot-S&D
CCleaner
圧縮・解凍ソフト(必須)
Lhaplus
7-Zip
オフィスソフト
OpenOffice.org
LibreOffice
TeraPad
メーラー
Thunderbird
オンライン・コミュニケーション・ツール
Open Live Writer
Skype
Windows Live メッセンジャー / MSN メッセンジャー
Backup & PartitionEditor
EaseUS Todo Backup Free
EaseUS Partition Master
コーデックパック(どちらか)
K-Lite Codec Pack
 
Combined Community Codec Pack
各エンコーダ&デコーダ、スプリッタ(競合注意)
ffdshow
Xvid Codec
qaac Codec
x264vfw
Haali Media Splitter
LAV Splitter
webm
Google VP8 Video For Windows codec
動画音楽再生プレーヤー(複数可)
MPC Home Cinema
GOM PLAYER
SMPlayer
VLC media player
動画加工編集ソフト
Windows ムービー メーカー
Windows Media エンコーダ
MP4Cam2AVI
Any Video Converter フリー版
CamStudio
SEffect
x264vfw
AviUtl
AviUtlのプラグイン
MediaCoder
Nero AAC Codec
Avidemux.org
真空波動研 Lite
えこでこツール
XMedia Recode
グラフィックソフト
Blender
Inkscape
GIMP
PlayMemories Home
FireAlpaca
HTML&ブログ制作
ez-HTML
Windows Live Writer
FFFTP
WinShot
Aptana | Studio
AviUtl
AviUtlの基礎構成ファイルDL
その他、色々と……
DataRecovery
CPU-Z
CrystalDiskMark
CrystalDiskInfo
 
 
QRコード
QRコード
 
プロフィール

Ψ(`∀´)Ψケケケ

Author:Ψ(`∀´)Ψケケケ
現在はAviUtl用の駄スクリプトを書いて配布中。使用は自己責任でお願いします。

 
 


ARCHIVE RSS