2009-08-07 22 views

答えて

33

は、.NETを使用している場合、Path.GetTempPath()を使用してください。これにより、アプリケーションの実行場所に関係なく、アプリケーションを実行するユーザーに割り当てられた一時ディレクトリを使用することが保証されます。

  • 〜\一時
  • 〜\ Windowsの\ Tempに
  • 〜\ユーザー\ユーザー名\のAppData:あなたは、ファイルシステムを参照する場合

    、あなたは多くの "TEMP" ディレクトリがあることがわかります\ Local \ Temp

...など多数。これらのパスの一部はOSに依存し、特定のウィンドウの味には存在しません。したがって、時間と労力を節約し、.NETフレームワークで "temp"パスの場所を把握させてください。

+1

これは、ユーザーが常に書き込みアクセス権を持つことが保証されている分離ストレージを使用することです。 –

+3

さらに、ファイル名も生成するPath.GetTempFileName()を使用して、適切な一時フォルダ内のフルパスを返します。 –

6

一時ディレクトリにはありますか?

使用GetTempPathまたはバッチファイル%TEMP%で

4

C:\ Tempは良い選択ではありません。

あなたはこのようにネットの利用コードを使用している場合:

  string baseFolder = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData); 

     string cfgFolder = Path.Combine(baseFolder, "MyAppName"); 


     try 
     { 
      if (!Directory.Exists(cfgFolder)) 
      { 
       Directory.CreateDirectory(cfgFolder); 
      } 
     } 
     catch { } // If no access, not much we can do. 

は中期アプリのデータの保存、またはデータの一時的保管用Path.GetTempPath()のための場所を取得します。

+0

なぜ 'c:\ Temp'を使うのは良い考えですか?私はあなたの意見に同意していない、私はちょうどあなたの推論について興味があります=) –

+2

C:\は本当に小さなパーティションであり、多くの場合、通常(非管理者)のユーザーは書き込み権限を持っていませんC:\ので、C:\ tempを作成できない –

+0

さらに、英語以外のWindowsにもC:\ tempというファイルが存在しますか? –

10

GetTempPathとおそらくGetTempFileNameを使用して、一時ファイルを保存する場所を決定します。これは、ファイルの一時的な場所を取得する、最も信頼性が高く、エンドユーザーにやさしく、将来の証明方法です。

string tempFolder = System.IO.Path.GetTempPath(); 

は、例えばC#で、あなたに適切なフォルダを返します。

3

それはあなたが使用している言語によって異なります。

または環境変数TEMPまたはTMPが必要な場合。

-3

C:¥Documents and Settings¥username¥Application Data¥IsolatedStorage

+16

はい - 文書化されたIsolated Storage APIを使用し、このパスをハードコードしないでください!ドイツ語版のWindowsを搭載したシステムでは、これはたとえば次のようになります。 "C:\ Dokumente \ ....."を入力し、このパスをハードコードすると、アプリケーションが中断されます。フォーク:もし何かをするAPIがあれば、**それらを使用してください!! –

関連する問題