code

내 콘솔 앱이 C #으로 실행중인 디렉터리를 어떻게 알 수 있습니까?

codestyles 2020. 9. 24. 07:50
반응형

내 콘솔 앱이 C #으로 실행중인 디렉터리를 어떻게 알 수 있습니까?


내 콘솔 앱이 C #으로 실행중인 디렉터리를 어떻게 알 수 있습니까?


.exe 파일이있는 디렉토리를 가져 오려면 다음을 수행하십시오.

AppDomain.CurrentDomain.BaseDirectory

현재 디렉토리를 가져 오려면 :

Environment.CurrentDirectory

응용 프로그램에 부여 된 권한, 섀도 복사 의 적용 여부 및 기타 호출 및 배포 옵션에 따라 다른 방법이 작동하거나 다른 결과를 생성 할 수 있으므로 무기를 현명하게 선택해야합니다. 즉, 다음은 모두 상주하는 시스템에서 로컬로 실행되는 완전히 신뢰할 수있는 콘솔 응용 프로그램에 대해 동일한 결과를 생성합니다.

Console.WriteLine( Assembly.GetEntryAssembly().Location );
Console.WriteLine( new Uri(Assembly.GetEntryAssembly().CodeBase).LocalPath );
Console.WriteLine( Assembly.GetEntryAssembly().Location );
Console.WriteLine( Environment.GetCommandLineArgs()[0] );
Console.WriteLine( Process.GetCurrentProcess().MainModule.FileName );

필요한 정확한 권한을 확인하려면 위 구성원의 문서를 참조해야합니다.


Path.GetDirectoryName (Assembly.GetExecutingAssembly (). Location)


.NET에서는 System.Environment.CurrentDirectory프로세스가 시작된 디렉토리를 가져 오는 데 사용할 수 있습니다 .
System.Reflection.Assembly.GetExecutingAssembly().Location현재 실행중인 어셈블리의 위치를 ​​알려줍니다 (현재 실행중인 어셈블리가 프로세스가 시작된 어셈블리의 위치와 다른 위치에서로드 된 경우에만 흥미 롭습니다).


Windows에서는 (Unix 등에 대해 확실하지 않음) 명령 줄의 첫 번째 인수입니다.

C / C ++에서 argv *의 항목을 실행합니다.

WinAPI-GetModuleFileName (NULL, char *, MAX_PATH)


Application.StartUpPath;

참고 URL : https://stackoverflow.com/questions/97312/how-do-i-find-out-what-directory-my-console-app-is-running-in-with-c

반응형