ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C#] 파일 경로, Path, SpecialFolder
    C#/기초 2023. 5. 31. 13:53

     

     

    AppContext.BaseDirectory	// 현재 어셈블리 참조 path (실행파일 경로)

    Path 객체의 메소드

     

     

    Path 객체를 사용하기 위해서는 using System.IO 를 선언해야 합니다. 

     

     

    - Path.ChangeExtension(string path) : 경로문자열에서 확장명 부분을 변경합니다.

    - Path.GetDirectoryName(string path) : 경로문자열에서 파일이름을 제외한 경로부분(디렉터리명)을 반환 합니다.

    - Path.GetExtension(string path) : 경로문자열에서 확장명 부분만 반환합니다.

    - Path.HasExtension(string path) : 경로문자열에서 확장명 부분이 있는지 확인하여 bool값으로 반환합니다.

    - Path.GetFileName(string path) : 경로문자열에서 파일이름부분을 반환합니다.

    - Path.GetFileNameWithoutExtension(string path)     : 경로문자열에서 확장명부분을 제외한 파일이름을 반환합니다.

    - Path.GetFullPath(string path) : 경로문자열에 해당하는 절대경로를 반환합니다.

    - Path.GetPathRoot(string path) : 경로문자열에서 루트디렉터리(드라이브 명) 부분만 반환합니다.

    - Path.GetRandomFileName() : 파일 또는 폴더명으로 사용가능한 임의의 문자열을 반환합니다.

    - Path.GetTempFileName() : 임의로 임시파일을 생성 후, 생성된 임시파일의 경로를 반환합니다. 임시파일은 시스템의 지정된 임시폴더(Temp)에 생성됩니다.

    - Path.GetTempPath() : 시스템에 지정된 임시폴더의 경로를 반환합니다.

    - Path.IsPathRooted(string path) : 매개변수로 지정된 경로문자열이 상대경로인지 절대경로인지 파악하여 bool값으로 반환합니다. 

    절대경로이면 true를 반환합니다.

    - Path.GetInvalidFileNameChars() : 파일이름으로 부적합한 문자들의 배열을 반환합니다.

    - Path.GetInvalidPathChars() : 경로명으로 부적합한 문자들의 배열을 반환합니다.

     


    https://pcsak3.com/425

     

    C#, 파일 경로 관리(계산)

    C# 에서는 간단하게 파일 경로를 관리할 수 있습니다. 확장자를 얻는 방법은 Path.GetExtension(string _path) 메소스를 이용하면 됩니다.~~ 그 외, 경로 얻기, 파일명만 얻기, 시스템 임시폴더 경로 얻기,

    pcsak3.com



    https://windstop.tistory.com/40

     

    C# 프로젝트/솔루션 관련 경로 얻기

    C# 프로젝트/솔루션 관련 경로 Project 폴더 경로 Directory.GetParent(Environment.CurrentDirectory).Parent.FullName; Solution 이름 Assembly.GetEntryAssembly().GetName().Name;

    windstop.tistory.com


     

    SpecialFolder

     

    Environment.SpecialFolder. ~
    string savingPath = 
    Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "LSStudio", "TagDB");

     

    All enums

     

    SpecialFolder EnumWindows PathMac Path

    AdminTools C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools  
    ApplicationData C:\Users\USERNAME\AppData\Roaming /Users/USERNAME/.config
    CDBurning C:\Users\USERNAME\AppData\Local\Microsoft\Windows\Burn\Burn  
    CommonAdminTools C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools  
    CommonApplicationData C:\ProgramData /usr/share
    CommonDesktopDirectory C:\Users\Public\Desktop  
    CommonDocuments C:\Users\Public\Documents  
    CommonMusic C:\Users\Public\Music  
    CommonOemLinks    
    CommonPictures C:\Users\Public\Pictures  
    CommonProgramFiles C:\Program Files\Common Files  
    CommonProgramFilesX86 C:\Program Files (x86)\Common Files  
    CommonPrograms C:\ProgramData\Microsoft\Windows\Start Menu\Programs  
    CommonStartMenu C:\ProgramData\Microsoft\Windows\Start Menu  
    CommonStartup C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup  
    CommonTemplates C:\ProgramData\Microsoft\Windows\Templates  
    CommonVideos C:\Users\Public\Videos  
    Cookies C:\Users\USERNAME\AppData\Local\Microsoft\Windows\INetCookies  
    Desktop C:\Users\USERNAME\Desktop /Users/USERNAME/Desktop
    DesktopDirectory C:\Users\USERNAME\Desktop /Users/USERNAME/Desktop
    Favorites C:\Users\USERNAME\Favorites /Users/USERNAME/Library/Favorites
    Fonts C:\WINDOWS\Fonts /Users/USERNAME/Library/Fonts
    History C:\Users\USERNAME\AppData\Local\Microsoft\Windows\History  
    InternetCache C:\Users\USERNAME\AppData\Local\Microsoft\Windows\INetCache /Users/USERNAME/Library/Caches
    LocalApplicationData C:\Users\USERNAME\AppData\Local /Users/USERNAME/.local/share
    LocalizedResources    
    MyComputer    
    MyDocuments C:\Users\USERNAME\Documents /Users/USERNAME
    MyMusic C:\Users\USERNAME\Music /Users/USERNAME/Music
    MyPictures C:\Users\USERNAME\Pictures /Users/USERNAME/Pictures
    MyVideos C:\Users\USERNAME\Videos  
    NetworkShortcuts C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Network Shortcuts  
    Personal C:\Users\USERNAME\Documents /Users/USERNAME
    PrinterShortcuts    
    ProgramFiles C:\Program Files /Applications
    ProgramFilesX86 C:\Program Files (x86)  
    Programs C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs  
    Recent C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Recent  
    Resources C:\WINDOWS\resources  
    SendTo C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\SendTo  
    StartMenu C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu  
    Startup C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup  
    System C:\WINDOWS\system32 /System
    SystemX86 C:\WINDOWS\SysWOW64  
    Templates C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Templates  
    UserProfile C:\Users\USERNAME /Users/USERNAME
    Windows C:\WINDOWS

     

     


    https://gist.github.com/DamianSuess/c143ed869e02e002d252056656aeb9bf#all-enums

     

    C# Environment.SpecialFolder

    C# Environment.SpecialFolder. GitHub Gist: instantly share code, notes, and snippets.

    gist.github.com

     


     

    특정 확장자 파일 FullName 가져오기

     

    void UnZipAppsPackageToDotApps()
            {
                CreateDirApps();
    
                string zipPath = Directory.GetCurrentDirectory() + @"\AppPackages";
                string unzipPath = UserPath +"/.apps/packages/";
                DirectoryInfo di = new DirectoryInfo(zipPath);
                foreach (FileInfo File in di.GetFiles())
                {
                    if (File.Extension.ToLower().CompareTo(".app") == 0)
                    {
                        string FileNameOnly = File.Name.Substring(0, File.Name.Length - 4);
                        string FullFileName = File.FullName;
                        UnzipFile(FullFileName, unzipPath + FileNameOnly);
                    }
                }
            }

     

    728x90

    'C# > 기초' 카테고리의 다른 글

    [C#] Nuget.exe  (0) 2023.06.26
    [C#] 레지스트리 사용법  (0) 2023.06.01
    [C#] sealed  (0) 2023.05.28
    [기초] String Format, 문자열 보간 $, @  (0) 2023.05.19
    [C#] Property, Get, Set  (0) 2023.03.14

    댓글

Designed by Tistory.