システムEnvironment.SpecialFolder
から特別なフォルダは、共通の情報が含まれている、そのようなプログラムファイル、 プログラム、システム、またはスタートアップフォルダなど、です。 特別なフォルダは、システムによってデフォルトで、またはWindowsのバージョンをインストールするときには ユーザによって明示的に設定されます。
GetFolderPathメソッドは、この 列挙型に関連付けられた場所を返します。これらのフォルダの場所は、異なるオペレーティングシステム上で異なる値 を持つことができます。ユーザーは の場所の一部を変更でき、場所はローカライズされています。
がEnvironment.GetFolderPathを使用する方法はありますが、何とか 正しいspeicalフォルダをidetifying C:\Users\Soner\Documents
として
ちょうど私のコンピュータでは
string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
files = Directory.GetFiles(path, searchPattern);
を使用し、それがパスに応じて返します私は現在 チェックですか?
SpecialFolder
はenum型なので、ループ内で値を反復処理できます。ここでそれはどのように見えるのですか?
public enum SpecialFolder
{
AdminTools = 0x30,
ApplicationData = 0x1a,
CDBurning = 0x3b,
CommonAdminTools = 0x2f,
CommonApplicationData = 0x23,
CommonDesktopDirectory = 0x19,
CommonDocuments = 0x2e,
CommonMusic = 0x35,
CommonOemLinks = 0x3a,
CommonPictures = 0x36,
CommonProgramFiles = 0x2b,
CommonProgramFilesX86 = 0x2c,
CommonPrograms = 0x17,
CommonStartMenu = 0x16,
CommonStartup = 0x18,
CommonTemplates = 0x2d,
CommonVideos = 0x37,
Cookies = 0x21,
Desktop = 0,
DesktopDirectory = 0x10,
Favorites = 6,
Fonts = 20,
History = 0x22,
InternetCache = 0x20,
LocalApplicationData = 0x1c,
LocalizedResources = 0x39,
MyComputer = 0x11,
MyDocuments = 5,
MyMusic = 13,
MyPictures = 0x27,
MyVideos = 14,
NetworkShortcuts = 0x13,
Personal = 5,
PrinterShortcuts = 0x1b,
ProgramFiles = 0x26,
ProgramFilesX86 = 0x2a,
Programs = 2,
Recent = 8,
Resources = 0x38,
SendTo = 9,
StartMenu = 11,
Startup = 7,
System = 0x25,
SystemX86 = 0x29,
Templates = 0x15,
UserProfile = 40,
Windows = 0x24
}
私の質問を編集して、それに対する答えを知っている場合は、フォローアップの質問を追加しました。 –
あなたはこのEnvironment.GetFolderPath(...)とあなたが持っているパスを非常に良く見分けることができます。もし一致すれば、続けることができます。そうでなければ、ループ構造で 'Continue'を呼び出すことができます。 – Saravanan
私は何かを自動的に意味しました。 (擬似コード)のようなもの: SpeicalFolderフォルダ= Environment.GetSpeicalFolderByFullPath(パス); –