C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

ホルダー内のファイルを高速削除 /ゆい (21/03/06(Sat) 18:26) #96964
Re[1]: ホルダー内のファイルを高速削除 /WebSurfer (21/03/06(Sat) 18:33) #96965
Re[1]: ホルダー内のファイルを高速削除 /魔界の仮面弁士 (21/03/06(Sat) 18:48) #96966
  └ Re[2]: ホルダー内のファイルを高速削除 /ゆい (21/03/06(Sat) 22:48) #96970 解決済み


親記事 / ▼[ 96965 ] ▼[ 96966 ]
■96964 / 親階層)  ホルダー内のファイルを高速削除
□投稿者/ ゆい (24回)-(2021/03/06(Sat) 18:26:36)

分類:[VB.NET/VB2005 以降] 

VB2017です。
超初心者ですみません。

  For Each tempFile As String In System.IO.Directory.GetFiles("C:\Users\***\stock")
      System.IO.File.Delete(tempFile)
  Next

今はこのようにして\stock内のファイルを削除してるのですが、数が多いと結構長い時間が掛かってもしまいます。
もっと短時間での削除する方法はないでしょうか?
よろしくお願いします。

[ □ Tree ] 返信 編集キー/

▲[ 96964 ] / 返信無し
■96965 / 1階層)  Re[1]: ホルダー内のファイルを高速削除
□投稿者/ WebSurfer (2198回)-(2021/03/06(Sat) 18:33:27)
No96964 (ゆい さん) に返信

> For Each tempFile As String In System.IO.Directory.GetFiles("C:\Users\***\stock")
> System.IO.File.Delete(tempFile)
> Next
>
> 今はこのようにして\stock内のファイルを削除してるのですが、数が多いと結構長い時間が掛かってもしまいます。
> もっと短時間での削除する方法はないでしょうか?

Directory ごと削除しても処理時間は変わりませんか?
[ 親 96964 / □ Tree ] 返信 編集キー/

▲[ 96964 ] / ▼[ 96970 ]
■96966 / 1階層)  Re[1]: ホルダー内のファイルを高速削除
□投稿者/ 魔界の仮面弁士 (2996回)-(2021/03/06(Sat) 18:48:26)
2021/03/06(Sat) 19:06:54 編集(投稿者)

No96964 (ゆい さん) に返信
> ホルダー内のファイルを高速削除

ホルダー (holder) ではなく
フォルダー (folder) ですね。


> For Each tempFile As String In System.IO.Directory.GetFiles("C:\Users\***\stock")

System.IO.Directory.GetFiles の代わりに
System.IO.Directory.EnumerateFiles を試してみてください。

(要 .NET Framework 4.0 以上)
https://www.atmarkit.co.jp/fdotnet/dotnettips/1018enumfiles/enumfiles.html


--- 追記 ---

列挙中に削除や追加を行うだとしたら、
EnumerateFiles ではマズいかな…と思ったけれど、
内部的には FindFirstFile / FindNextFile なので大丈夫かな。
[ 親 96964 / □ Tree ] 返信 編集キー/

▲[ 96966 ] / 返信無し
■96970 / 2階層)  Re[2]: ホルダー内のファイルを高速削除
□投稿者/ ゆい (25回)-(2021/03/06(Sat) 22:48:51)
No96966 (魔界の仮面弁士 さん) に返信

ありがとうございます。

ホルダー (holder) ではなくフォルダー (folder) でした。
すみません。

System.IO.Directory.EnumerateFiles も試しはしたのですが余り変わりはなかったです。
仕方がないので Directory ごと削除にすることにします。



解決済み
[ 親 96964 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -