Как найти путь к исполняемому файлу


Загрузить PDF


Загрузить PDF

В этой статье мы расскажем вам, как в Windows найти полный путь к файлу с помощью строки поиска, Проводника или окна «Выполнить».

  1. Изображение с названием Find a File's Path on Windows Step 1

    1

    Нажмите Win+S. Откроется строка поиска.

  2. Изображение с названием Find a File's Path on Windows Step 2

    2

    Введите имя файла. Откроется список совпадающих результатов.

  3. Изображение с названием Find a File's Path on Windows Step 3

    3

    Щелкните по имени файла правой кнопкой мыши. Откроется меню.

  4. Изображение с названием Find a File's Path on Windows Step 4

    4

    Нажмите Открыть папку с файлом. Откроется папка с нужным файлом.

  5. Изображение с названием Find a File's Path on Windows Step 5

    5

    Щелкните в конце строки с именем файла. Вы найдете ее над списком файлов и под значками опций. Полный путь к файлу будет выделен.

    • Нажмите Ctrl+C, чтобы скопировать путь.
    • Нажмите Ctrl+V, чтобы вставить скопированный путь.

    Реклама

  1. Изображение с названием Find a File's Path on Windows Step 6

    1

    Нажмите Win+E. Откроется окно Проводника.

    • Клавиша Windows находится в левом нижнем углу клавиатуры.
  2. Изображение с названием Find a File's Path on Windows Step 7

    2

    Перейдите в папку с нужным файлом. Ваши действия будут зависеть от того, где находится файл. Как правило, нужно дважды щелкнуть по диску (его букве), а затем дважды щелкнуть по нужной папке, чтобы открыть ее.

  3. Изображение с названием Find a File's Path on Windows Step 8

    3

    Щелкните по нужному файлу правой кнопкой мыши. Откроется меню.

  4. Изображение с названием Find a File's Path on Windows Step 9

    4

    Выберите Свойства. Эта опция находится внизу меню.

  5. Изображение с названием Find a File's Path on Windows Step 10

    5

    Найдите путь к файлу в строке «Расположение». Вы найдете ее посередине окна.

    • Чтобы скопировать путь, дважды щелкните по нему — путь будет выделен, а затем нажмите Ctrl+C.
    • Чтобы вставить путь, нажмите Ctrl+V.

    Реклама

  1. Изображение с названием Find a File's Path on Windows Step 11

    1

    Перейдите в папку с нужным файлом. Например, если файл находится на рабочем столе, перейдите на рабочий стол.

  2. Изображение с названием Find a File's Path on Windows Step 12

    2

    Нажмите Win+R. Откроется окно «Выполнить».

  3. Изображение с названием Find a File's Path on Windows Step 13

    3

    Перетащите файл в окно «Выполнить». Когда значок файла окажется в окне «Выполнить», отпустите кнопку мыши.

  4. Изображение с названием Find a File's Path on Windows Step 14

    4

    Найдите полный путь к файлу в поле «Открыть». В этом поле отображается путь к файлу.

    • Чтобы скопировать путь, дважды щелкните по нему — путь будет выделен, а затем нажмите Ctrl+C.
    • Чтобы вставить путь, нажмите Ctrl+V.

    Реклама

Об этой статье

Эту страницу просматривали 18 274 раза.

Была ли эта статья полезной?

59 / 59 / 7

Регистрация: 07.12.2009

Сообщений: 324

1

Узнать путь к исполняемому файлу приложения

11.04.2012, 12:48. Показов 194048. Ответов 17


Студворк — интернет-сервис помощи студентам

Как узнать где находиться файл запуска моего проекта просто потом хочу привентитить относительна к нему другие файлы.



0



Монфрид

1240 / 1050 / 293

Регистрация: 07.03.2012

Сообщений: 3,245

11.04.2012, 12:56

2

C#
1
Environment.CurrentDirectory;

вернёт путь к папке откуда запускается exe.
А вообще, если тебе надо именно в папке с exe хранить что-то, то необязательно таким образом указывать путь. Достаточно имя файла указывать и всё.

C#
1
File.Exists("text.txt")

он искать будет именно в папке где лежит exe



6



ForEveR

В астрале

Эксперт С++

8048 / 4805 / 655

Регистрация: 24.06.2010

Сообщений: 10,562

11.04.2012, 12:56

3

C#
1
2
3
4
5
6
7
8
9
10
namespace Test
{
    class Program
    {
        public static void Main()
        {
            Console.WriteLine (Application.ExecutablePath);
        }
    }
}



5



kolorotur

Эксперт .NET

17178 / 12638 / 3315

Регистрация: 17.09.2011

Сообщений: 20,915

11.04.2012, 13:00

4

Лучший ответ Сообщение было отмечено как решение

Решение

Цитата
Сообщение от Монфрид
Посмотреть сообщение

Environment.CurrentDirectory вернёт путь к папке откуда запускается exe.

Не запутывайте, пожалуйста, людей.
CurrentDirectory возвращает путь к рабочей папке.

Как вариант:

C#
1
Assembly.GetExecutingAssembly().Location;



18



INF1NUM

19 / 19 / 2

Регистрация: 27.09.2011

Сообщений: 155

11.04.2012, 15:27

5

чем плох

C#
1
Application.StartupPath

Добавлено через 3 минуты
если нужен полный путь

C#
1
String fullPath = Application.StartupPath.ToString() + "\MyProject.exe";



7



Эксперт .NET

17178 / 12638 / 3315

Регистрация: 17.09.2011

Сообщений: 20,915

11.04.2012, 15:49

6

Лучший ответ Сообщение было отмечено Midnayt как решение

Решение

Цитата
Сообщение от INF1NUM
Посмотреть сообщение

чем плох Application.StartupPath

Тем, что класс Application находится в сборке System.Windows.Forms, а путь запуска может затребовать консольное приложение, WPF, библиотека классов и т.д.



5



1 / 1 / 0

Регистрация: 04.07.2012

Сообщений: 4

15.12.2012, 16:31

7

Для WPF подошло: Assembly.GetExecutingAssembly().Location;



1



Металхэд

0 / 0 / 0

Регистрация: 06.03.2014

Сообщений: 17

13.04.2014, 15:23

8

Цитата
Сообщение от kolorotur
Посмотреть сообщение

Цитата
Сообщение от “INF1NUM
Посмотреть сообщение

чем плох Application.StartupPath

Тем, что класс Application находится в сборке System.Windows.Forms, а путь запуска может затребовать консольное приложение, WPF, библиотека классов и т.д.

а если добавить

C#
1
using System.Windows.Forms

и соответственно ссылку на службу?



0



660 / 530 / 137

Регистрация: 07.07.2011

Сообщений: 1,232

13.04.2014, 18:59

9

Металхэд, я думаю ваш ответ очень понадобился ТСу.



0



Qwertiy

831 / 639 / 101

Регистрация: 20.08.2013

Сообщений: 2,524

05.11.2014, 17:34

10

C#
1
AppDomain.CurrentDomain.BaseDirectory



2



kolorotur

Эксперт .NET

17178 / 12638 / 3315

Регистрация: 17.09.2011

Сообщений: 20,915

05.11.2014, 18:09

11

Цитата
Сообщение от Qwertiy
Посмотреть сообщение

C#
1
AppDomain.CurrentDomain.BaseDirectory

Это корневая директория, с которой резолвер начинает искать подключаемые сборки.
Она может не совпадать с директорией, в которой лежит исполняемый файл.



1



831 / 639 / 101

Регистрация: 20.08.2013

Сообщений: 2,524

05.11.2014, 19:51

12

Цитата
Сообщение от kolorotur
Посмотреть сообщение

Это корневая директория, с которой резолвер начинает искать подключаемые сборки.
Она может не совпадать с директорией, в которой лежит исполняемый файл.

В каком случае они не совпадают, кроме ситуации, когда домен создаётся искусственно?

А вообще, тут только Application.StartupPath гарантирует именно путь к exe’шнику, т. к. он вызывает GetModuleFileName с нулевым хендлом.
Вариант с GetExecutingAssembly, если окажется в dll, вернёт путь к ней, а он не обязательно совпадёт с путём к exe.
CurrentDirectory тут вообще не в тему.

Добавлено через 7 минут
Для VB.NET есть ещё My.Application.Info.DirectoryPath.



0



Эксперт .NET

17178 / 12638 / 3315

Регистрация: 17.09.2011

Сообщений: 20,915

05.11.2014, 20:30

13

Цитата
Сообщение от Qwertiy
Посмотреть сообщение

В каком случае они не совпадают, кроме ситуации, когда домен создаётся искусственно?

Правильнее было бы, наверное, спросить как часто и в каких ситуациях домен создается искусственно
Кроме того, это свойство можно изменить в рантайме, в том числе это может сделать за вас какая-нибудь хитрая либа.



0



20 / 20 / 10

Регистрация: 19.05.2015

Сообщений: 704

30.03.2017, 14:27

14

Цитата
Сообщение от Qwertiy
Посмотреть сообщение

Application.StartupPath

Ничего он не гарантирует… Вообще в C:windowssystem32 закинул меня…



1



to_dmitr

0 / 1 / 0

Регистрация: 16.11.2016

Сообщений: 4

05.09.2017, 12:43

15

C#
1
var path = Environment.ExpandEnvironmentVariables(@"%APPDATA%Skype");



1



19 / 19 / 6

Регистрация: 28.02.2011

Сообщений: 514

28.09.2018, 17:12

16

Цитата
Сообщение от kolorotur
Посмотреть сообщение

Как вариант:
Assembly.GetExecutingAssembly().Location;

Надо подключать “using System.Reflection;”

Если точный метод? А то написано как вариант, но не факт что точный.
А то перерыл “Environment” не чего хорошего не нашел.
Нашел только “Environment.CommandLine”. Но он выдаёт путь + имя.exe



0



axel538

3 / 3 / 0

Регистрация: 12.11.2015

Сообщений: 2

15.11.2018, 17:21

17

C#
1
var path = System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName);



3



Someone007

Эксперт .NET

6314 / 3933 / 1577

Регистрация: 09.05.2015

Сообщений: 9,235

06.11.2022, 14:55

18

Из актуальных решений можно еще использовать

C#
1
Environment.ProcessPath

Актуально для .NET 6 и выше, может возвращать null если путь не доступен…



1



EDIT: I should have added, if you can’t use the WHERE command from the command prompt, check your PATH variable. (Just use the “path” command.) Make sure C:WindowsSystem32 is in your path. That’s where “where.exe” is located.

WHERE is the command you’re looking for! WHERE is like a cross between the UNIX shell built-in “which” and the “locate” command, in that it works for both command executables and regular files.

It’s also somewhat more complex than either of those two, although, in general a simple

WHERE <file>

will work.

It’s different from the “locate” command in that it’s not looking through the entire filesystem. Instead, the default behavior is to look for files in two locations:

  • The current directory.
  • All of the directories in the PATH variable.

So, any command that you can run directly from a command prompt without specifying the directory, will be found by the WHERE command. (Because any command like that is already in the PATH variable list.)

If you want to search only in the command path variable, you can use:

WHERE "$path:<search text>"

If, on the other hand, you want to find all copies of a file in a directory tree, you can use:

WHERE /R <Top Level Directory> <search text>

Finally, WHERE will find commands and any files with an extension from the PATHEXT variable without including the extension. All other files have to be specified either exactly or with wildcards.

Take for example the files “dxdiag.exe” and “dxdiagn.dll”. Note the following command and its output:

WHERE /R C:Windows dxdiag

C:WindowsSystem32dxdiag.exe
C:WindowsSysWOW64dxdiag.exe
C:WindowsWinSxSamd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7dxdiag.exe
C:WindowsWinSxSx86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91dxdiag.exe

It succeeds in returning all versions of “dxdiag.exe” because “.exe” is one of the extensions in the PATHEXT variable. (Note: “WHERE dxdiag” would have worked as well, because C:WindowsSystem32 is in the PATH variable.)

WHERE /R C:Windows dxdiagn

on the other hand, fails to return any result, because “.dll” is not in PATHEXT.

In this case, look at the result that adding a wildcard gives us:

WHERE /R C:Windows dxdiagn*

C:WindowsSystem32dxdiagn.dll
C:WindowsSystem32en-USdxdiagn.dll.mui
C:WindowsSysWOW64dxdiagn.dll
C:WindowsSysWOW64en-USdxdiagn.dll.mui
C:WindowsWinSxSamd64_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_daccd04369b09c70dxdiagn.dll.mui
C:WindowsWinSxSamd64_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_7c8d3f96e7882ec7dxdiagn.dll
C:WindowsWinSxSx86_microsoft-windows-d..iagnostic.resources_31bf3856ad364e35_6.2.9200.16384_en-us_7eae34bfb1532b3adxdiagn.dll.mui
C:WindowsWinSxSx86_microsoft-windows-d..x-directxdiagnostic_31bf3856ad364e35_6.2.9200.16384_none_206ea4132f2abd91dxdiagn.dll

It successfully returns all versions of dxdiagn.dll.

For more information, use “WHERE /?”. Hope this helps!

Мне нужно узнать путь к моей программе, и в последующем ликвидировать её.

Kromster's user avatar

Kromster

13.5k12 золотых знаков43 серебряных знака72 бронзовых знака

3

Касательно самоликвидации:

Как выше отметили, пока программа работает она удалиться не может, НО ничего не мешает запустить *.Bat из программы перед ее закрытием удалить.

А еще можно воспользоваться MoveFileEx и файл будет вычищен системой после ребута.

ответ дан 16 мая 2017 в 10:11

iluxa1810's user avatar

iluxa1810iluxa1810

24.6k11 золотых знаков59 серебряных знаков151 бронзовый знак

0

Как правильно написали в комментариях выше, получить путь (включая имя исполняемого файла) можно так

string path = System.Reflection.Assembly.GetExecutingAssembly().Location;

Только путь, без исполняемого файла будет так :

string s = Environment.CurrentDirectory;

А вот удалить программа сама себя не сможет, скажет что процесс занят другим приложением )

ответ дан 16 мая 2017 в 9:42

Сергей's user avatar

СергейСергей

3,8604 золотых знака34 серебряных знака79 бронзовых знаков

3

Иногда в процессе работы на компьютере необходимо найти папку или запускающий файл той или иной программы или игры. Особенно часто такое действие необходимо для русификации  программы или добавления в неё кистей или текстур (как в Фотошопе). Для человека, который хорошо разбирается в компьютерах это не проблема, но для начинающего пользователя  найти путь к файлу или папке, задача не из легких, а может даже и не выполнима.

На самом деле все очень просто, и если вы сделаете это один раз, то сможете и в следующий.  Если вы научитесь находить файл или папку среди тысячи таких же файлов, то многие компьютерные проблемы сможете решать сами без посторонней помощи.

Существует несколько способов определения пути к файлу или папке программы. Сейчас мы их рассмотрим.

Содержание:

  • Находим путь к файлу или папке по ярлыку на рабочем столе
    • Как узнать путь, если ярлыка программы нет на рабочем столе
      • Видео «Как найти путь к файлу»

Находим путь к файлу или папке по ярлыку на рабочем столе

Как найти путь к файлу, который запускает программу. Урок 29

Это самый легкий и быстрый способ. Если ярлык программы находится на рабочем столе, то кликаем по нему правой кнопкой мыши и выбираем в самом низу выпадающего списка, который называется контекстным меню, пункт «Свойства».

Это самый легкий и быстрый способ

В открывшемся окне «Свойства» в поле «Объект» вы увидите путь к запускающему файлу программы (с расширением .exe), а ниже, в поле «Рабочая папка»  показан путь к папке программы.

В открывшемся окне «Свойства» в поле «Объект» вы увидите путь к запускающему файлу программы

Оба эти пути похожи, ведь запускающий файл программы находится в рабочей папке этой же программы.

Как узнать путь, если ярлыка программы нет на рабочем столе

Если ярлыка программы нет на рабочем столе, то он наверняка имеется в меню «Пуск».  В Windows XP или Windows 7 можно так же кликнуть по значку программы правой кнопкой мыши и выбрать в контекстном меню пункт «Свойства».

Если ярлыка программы нет на рабочем столе, то он наверняка имеется в меню «Пуск».

А вот в Windows 10 такой номер не прокатит. Там надо сначала открыть меню «Пуск» найти папку программы, открыть её, кликнуть правой кнопкой мыши по иконке программы, выбрать в самом верху открывшегося списка по строке «Дополнительно», а в следующем списке кликнуть по строке «Перейти к расположению файла».

Там надо сначала открыть меню «Пуск» найти папку программы, открыть её, кликнуть правой кнопкой мыши по иконке программы

В открывшемся окне программы наверху в адресной строке будет показан путь к этому файлу.

В открывшемся окне программы наверху в адресной строке будет показан путь к этому файлу.

Его можно скопировать. Для этого необходимо кликнуть правой кнопкой мыши по адресу и выбрать в выпадающем меню пункт  «Копировать адрес».

Для этого необходимо кликнуть правой кнопкой мыши по адресу и выбрать в выпадающем меню пункт  «Копировать адрес».

Потом можно открыть любой текстовый редактор (блокнот или ворд) и вставить этот адрес в него , кликнув правой кнопкой мыши по пустому месту и выбрать вставить, или установить курсор и нажать на клавиатуре одновременно клавиши Ctrl + V

Эти методы особенно актуальны, если у вас нет доступа к скрытым файлам и папкам.

Видео «Как найти путь к файлу»

_____________________________________________________________________________________________________Удачи!

Добавить комментарий