tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル使用中のフォルダーの削除方法
記事No8457
投稿日: 2008/12/04(Thu) 12:47
投稿者Poko
はじめて投原させていただきます。

 以下に示しますよう、フォルダーを作成し、テキストを書き込んだ後にフォルダーを
削除したいと思っていますが、別のプロセスで使用中ですアクセスできませんと表示
されてしまい削除できません。何かよい方法がありましたら教えてください。

        Dim FName As String
        FName = "C:\TMP_VS1"
        System.IO.Directory.CreateDirectory(FName)

        Dim TextFile As IO.StreamWriter
        Dim Path As String
        Path = FName + "\" + "ASTP1.txt"
        TextFile = New IO.StreamWriter(Path)
        
        Dim I As Integer
        Dim A(10) As String
        
        A(1) = "Abc"
        A(2) = "Bcd"
        A(3) = "Cde"
        
        For I = 1 To 3
            TextFile.WriteLine(A(I))
        Next I
        
        TextFile.Close()

    ChDir("c:\aya")

ここで、フォルダーを削除すると別のプロセスで使用中ですアクセスできませんと
表示されます。
        If System.IO.Directory.Exists(FName) = True Then
            System.IO.Directory.Delete(FName)'''ここでストップしてしまいます。
        End If

[ツリー表示へ]
タイトルRe: 使用中のフォルダーの削除方法
記事No8458
投稿日: 2008/12/04(Thu) 14:05
投稿者魔界の仮面弁士
> ここで、フォルダーを削除すると別のプロセスで使用中ですアクセスできませんと
> 表示されます。
C:\TMP_VS1\ASTP1.txt を開いているソフトが居ませんか?
もしくは、ASTP1.txtを「開いていた」ソフトが、TMP_VS1 をカレントディレクトリに
しているとか。

> System.IO.Directory.Delete(FName)'''ここでストップしてしまいます。
これって、たとえ他のプロセスで使用されていなかったとしても、
  『ディレクトリが空ではありません。』
で止まってしまうと思いますよ。

[ツリー表示へ]
タイトルRe^2: 使用中のフォルダーの削除方法
記事No8459
投稿日: 2008/12/04(Thu) 14:33
投稿者Poko
魔界の仮面弁士さん

ご返事ありがとうございます。
以下の2点を行いました結果、解決いたしました。

1、System.IO.Directory.Delete(FName, True)(ご指摘いただいた件です(True)

2、パソコンを再起動してみましたところ解決いたしました。

誠にありがとうございました。

> C:\TMP_VS1\ASTP1.txt を開いているソフトが居ませんか?
> もしくは、ASTP1.txtを「開いていた」ソフトが、TMP_VS1 をカレントディレクトリに
> しているとか。
>
> > System.IO.Directory.Delete(FName)'''ここでストップしてしまいます。
> これって、たとえ他のプロセスで使用されていなかったとしても、
>   『ディレクトリが空ではありません。』
> で止まってしまうと思いますよ。

[ツリー表示へ]