次の方法で共有


IsolatedStorageFile.DeleteDirectory メソッド

分離ストレージのスコープ内にあるディレクトリを削除します。

Public Sub DeleteDirectory( _
   ByVal dir As String _)
[C#]
public void DeleteDirectory(stringdir);
[C++]
public: void DeleteDirectory(String* dir);
[JScript]
public function DeleteDirectory(
   dir : String);

パラメータ

  • dir
    分離ストレージ スコープ内で削除するディレクトリの相対パス。

例外

例外の種類 条件
IsolatedStorageException ディレクトリを削除できませんでした。
ArgumentNullException ディレクトリのパスが null 参照 (Visual Basic では Nothing) です。

解説

ディレクトリを削除する前に、その中を空にする必要があります。一度削除したディレクトリは復元できません。

DeleteDirectory メソッドの使用方法については、「 ファイルおよびディレクトリの削除 」の例を参照してください。

使用例

 
' This method deletes directories in the specified Isolated Storage, after first 
' deleting the files they contain. In this example, the Archive directory is deleted. 
' There should be no other directories in this Isolated Storage.
Public Sub DeleteDirectories()
    Try
        Dim isoFile As IsolatedStorageFile = IsolatedStorageFile.GetStore(IsolatedStorageScope.User _
            Or IsolatedStorageScope.Assembly Or IsolatedStorageScope.Domain, _
            GetType(System.Security.Policy.Url), GetType(System.Security.Policy.Url))
        Dim name As String
        Dim dirNames As [String]() = isoFile.GetDirectoryNames("*")
        Dim fileNames As [String]() = isoFile.GetFileNames("Archive\*")
        ' Delete all the files currently in the Archive directory.
        If fileNames.Length > 0 Then
            For Each name In fileNames
                isoFile.DeleteFile(("Archive\" & name))
            Next name
            'Confirm no files are left.
            fileNames = isoFile.GetFileNames("Archive\*")
        End If
        If dirNames.Length > 0 Then
            For Each name In dirNames
                ' Delete the Archive directory.
                isoFile.DeleteDirectory(name)
            Next name
        End If
        dirNames = isoFile.GetDirectoryNames("*")
        isoFile.Remove()
    Catch ex As Exception
        Console.WriteLine(ex.ToString())
    End Try
End Sub 'DeleteDirectories


[C#] 
// This method deletes directories in the specified Isolated Storage, after first 
// deleting the files they contain. In this example, the Archive directory is deleted. 
// There should be no other directories in this Isolated Storage.
    public void DeleteDirectories()
    {
        try
        {
            IsolatedStorageFile isoFile = IsolatedStorageFile.GetStore( IsolatedStorageScope.User |
                IsolatedStorageScope.Assembly |
                IsolatedStorageScope.Domain,
                typeof(System.Security.Policy.Url),
                typeof(System.Security.Policy.Url));
            String [] dirNames  = isoFile.GetDirectoryNames("*");
            String [] fileNames = isoFile.GetFileNames("Archive\\*");

            // Delete all the files currently in the Archive directory.

            if (fileNames.Length>0)
            {
                for (int i=0;i<fileNames.Length;++i) 
                {
                    // Delete the files.
                    isoFile.DeleteFile("Archive\\" + fileNames[i]);
                }
                // Confirm that no files remain.
                fileNames = isoFile.GetFileNames("Archive\\*");
            }


            if (dirNames.Length>0)
            {
                for (int i=0; i<dirNames.Length; ++i) 
                {
                    // Delete the Archive directory.
                }
            }
            dirNames = isoFile.GetDirectoryNames("*");
            isoFile.Remove();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }
    }

[C++] 
// This method deletes directories in the specified Isolated Storage, after first 
// deleting the files they contain. In this example, the Archive directory is deleted. 
// There should be no other directories in this Isolated Storage.
void DeleteDirectories()
{
   try
   {
      IsolatedStorageFile* isoFile = IsolatedStorageFile::GetStore(
         static_cast<IsolatedStorageScope>(IsolatedStorageScope::User |
         IsolatedStorageScope::Assembly |
         IsolatedStorageScope::Domain),
         __typeof(System::Security::Policy::Url),
         __typeof(System::Security::Policy::Url));

      String* dirNames[]  = isoFile->GetDirectoryNames(S"*");
      String* fileNames[] = isoFile->GetFileNames(S"Archive\\*");

      // Delete the current files within the Archive directory.

      if (fileNames->Length>0)
      {
         for (int i=0;i<fileNames->Length;++i) 
         {
            //delete files
            isoFile->DeleteFile((S"Archive\\{0}", fileNames[i]));
         }
         //Confirm no files are left.
         fileNames = isoFile->GetFileNames(S"Archive\\*");
      }


      if (dirNames->Length>0)
      {
         for (int i=0; i<dirNames->Length; ++i) 
         {
            // Delete the Archive directory.
            isoFile->DeleteDirectory(dirNames[i]);  
         }
      }
      dirNames = isoFile->GetDirectoryNames(S"*");
      isoFile->Remove();
   }
   catch (Exception* e)
   {
      Console::WriteLine(e->ToString());
   }

}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

IsolatedStorageFile クラス | IsolatedStorageFile メンバ | System.IO.IsolatedStorage 名前空間