Как узнать и скопировать полный путь к файлу в Windows 10
Иногда в командной строке или при создании .BAT файла требуется указать полный путь к файлу. Некоторые начинающие пользователи не знают, как узнать полный путь к файлу, другие начинают его старательно набирать вручную, несмотря на нахождение этого файла не в самом удобном расположении. Есть способ проще — вы можете в два клика скопировать полный путь к файлу и вставить его.
В этой крайне короткой инструкции о том, как узнать и скопировать полный путь к файлу или папке в Windows 10, способ подойдет и для предыдущих версий системы.
- Как узнать полный путь к файлу или папке
- Как скопировать путь к файлу в буфер обмена
- Видео инструкция
Как узнать путь к файлу или папке
Если вам требуется узнать путь к файлу или папке в Windows, используя только встроенные средства системы, достаточно перейти в нужную папку, посмотреть путь к ней в адресной строке проводника и добавить к нему имя файла после знака «\». Также вы можете открыть свойства файла (нажав правой кнопкой мыши по нему и выбрав нужный пункт) и увидеть там путь к нему в поле «Расположение».
К этому расположению (которое можно скопировать из окна свойств) также добавляем \ и имя файла, которое также отображается в свойствах — получаем полный путь к файлу, например, для скриншота выше путь буде выглядеть как C:\Windows\Winhlp32.exe. Но это не обязательно делать вручную, есть способ проще.
Копирование пути к файлу или папке
В сторонних файловых менеджерах есть свои функции для выполнения рассматриваемой задачи, но вы можете легко скопировать путь к файлу и во встроенном проводнике Windows 10:
- Найдите нужный файл в проводнике.
- Удерживая Shift, нажмите правой кнопкой по этому файлу.
- Выберите пункт контекстного меню «Копировать как путь».
Готово — теперь вы можете вставить (Ctrl+V, Shift+Insert или через контекстное меню) в любое место, например, в командную строку. Путь к файлу вставляется в кавычках — для большинства применений удалять их не обязательно.
Копирование пути к папке еще проще: находясь в нужной папке, нажмите указателем мыши в правой части адресной строки проводника — весь путь будет выделен.
Скопируйте его в буфер обмена — Ctrl+C, Ctrl+Insert или с использованием контекстного меню.
Видео инструкция
Надеюсь, несмотря на краткость, материал окажется полезным для кого-то из читателей.
А вдруг и это будет интересно:
- Лучшие бесплатные программы для Windows
- Как узнать UEFI или Legacy Windows на компьютере
- Компьютер не видит внешний диск — как исправить?
- TakeOwnershipEx — получение полного доступа к папкам и файлам и восстановление прав по умолчанию
- Ошибка 0x8007000d в Windows 11 или 10 — как исправить?
- Chrome открывает поиск вместо сайта — решение
- Windows 11
- Windows 10
- Android
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Установка с флешки
- Настройка роутера
- Всё про Windows
- В контакте
- Одноклассники
-
Дмитрий 10.05.2020 в 11:03
Как найти путь к папке в профиле пользователя?
Как решить проблему с путём к папке? К примеру есть папка загрузки, которая находится по адресу C:\Users\Имя пользователя\Downloads которую нужно открыть при нажатие на кнопку. Проблема в том что Имя пользователя у каждого компьютера разное как это можно решить?
Лучшие ответы ( 2 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Получить путь к папке Roaming пользователя через TService
С помощью такой функции получаю путь к папке Roaming текущего пользователя function.
Работа с sharpbox. Имя пользователя и путь к синхронизируемой папке
Ребят! Потребовалось получить имя пользователя и путь к синхронизируемой папке в приложении Dropbox.
Как указать путь к папке и создать массив с ссылками на все файлы в папке?
В моём случае нужно указание директории с видео, создание массива, и тк он будет использоваться в.
Найти полный путь к папке, имея только короткое имя
Как найти полный путь к папке имея только короткое имя?
Администратор
16393 / 12872 / 5072
Регистрация: 17.03.2014
Сообщений: 26,185
Записей в блоге: 1
Регистрация: 12.06.2017
Сообщений: 227
Толи я что то не понял то ли не так объяснил.
У меня есть код который удаляет содержимое папки Temp, которая находится по пути C:\Windows\Temp этот путь к папке на каждом компе одинаковый.
1 2 3 4 5 6 7
string dir = @"C:\Windows\Temp"; foreach (string file in Directory.GetFiles(dir)) File.Delete(file); foreach (string file in Directory.GetDirectories(dir)) Directory.Delete(file, true);
Мне нужно что бы удаляло содержимое папки Downloads, которая находится по адресу C:\Users\Имя пользователя\Downloads а имя пользователей у всех разное
Администратор
16393 / 12872 / 5072
Регистрация: 17.03.2014
Сообщений: 26,185
Записей в блоге: 1
Chesterfield252, и я дал тебе две ссылки, используя любую из которых ты получишь путь к папке Downloads текущего пользователя.
Регистрация: 12.06.2017
Сообщений: 227
Если возможно подскажи а то я вообще запутался
Добавлено через 1 минуту
Package Manager Console у меня присутствует и что дальше?
3479 / 2484 / 1172
Регистрация: 14.08.2016
Сообщений: 8,182
вот путь который отрывать
string.Format($"c:\\users\\\\Downloads");
Администратор
16393 / 12872 / 5072
Регистрация: 17.03.2014
Сообщений: 26,185
Записей в блоге: 1
Сообщение было отмечено OwenGlendower как решение
Решение
Chesterfield252, ставишь пакет Syroot.Windows.IO.KnownFolders (если не знаешь как это делается, то читай документацию). После установки пакета получить путь к папке Downloads можно следующим образом:
string downloadsFolderPath = Syroot.Windows.IO.KnownFolders.Downloads.Path;
Сообщение от Chesterfield252
У меня есть код который удаляет содержимое папки Temp, которая находится по пути C:\Windows\Temp этот путь к папке на каждом компе одинаковый.
Ты упускаешь вида что Windows не обязана быть установлена на диске C: и что каталог Windows тоже может называться как-то по другому. Лучше получить путь так:
string tempPath = Environment.ExpandEnvironmentVariables(@"%windir%\Temp");
// Или так string tempPath = Path.Combine(Syroot.Windows.IO.KnownFolders.Windows.Path, "Temp");
Добавлено через 3 минуты
Сообщение от Diamante
string.Format($"c:\\users\\\\Downloads");
Это потенциально неверный способ. Папка с профилями может находиться на другом диске, или папка Downloads может быть перенправлена в другую папку, или папка с профилем пользователя называется как-то по другому (такое бывает когда имена пользоввтелей совпадают). В общем не надо так делать. Единнственно верный способ это через Environment.GetFolderPath или через Windows API.
Регистрация: 12.06.2017
Сообщений: 227
string tempPath = Environment.ExpandEnvironmentVariables(@"%windir%\Temp");
Я так понял что таким образом и папку Downloads можно искать?
Да ещё как удалить содержимое папки?
3479 / 2484 / 1172
Регистрация: 14.08.2016
Сообщений: 8,182
OwenGlendower, согласен, но
Сообщение от Chesterfield252
которая находится по адресу C:\Users\Имя пользователя\Download
, я просто решал ту задачу, которая поставлена.
Администратор
16393 / 12872 / 5072
Регистрация: 17.03.2014
Сообщений: 26,185
Записей в блоге: 1
Сообщение от Chesterfield252
Я так понял что таким образом и папку Downloads можно искать?
Увы нет. Для этого просто нет подходящих переменных окружения.
Сообщение от Chesterfield252
Да ещё как удалить содержимое папки?
Ты же выше привел код который именно это и делает.
Регистрация: 12.06.2017
Сообщений: 227
1 2 3 4 5 6 7
string tempPath = Environment.ExpandEnvironmentVariables(@"%windir%\Temp"); foreach (string file in Directory.GetFiles(tempPath)) File.Delete(file); foreach (string file in Directory.GetDirectories(tempPath)) Directory.Delete(file, true);
а в случае с папкой Downloads нужно переменные поменять или как?
Добавлено через 58 секунд
только папки с этой директории не удаляет
Администратор
16393 / 12872 / 5072
Регистрация: 17.03.2014
Сообщений: 26,185
Записей в блоге: 1
Сообщение от Chesterfield252
а в случае с папкой Downloads нужно переменные поменять или как?
Да. Хотя лучше сделать метод который принимает путь к каталогу и удаляет файлы/подкаталоги из него.
Сообщение от Chesterfield252
только папки с этой директории не удаляет
Должен удалять. Кроме случая когда в каталоге есть занятые кем-то файлы, но с этим ничего особо не поделаешь.
Регистрация: 12.06.2017
Сообщений: 227
Да у меня есть папка от NVIDIA которую не удаляет, потому как процесс открыт в другом приложение, но программа не удаляет и папки которые пустые или специально созданные мною для проверки
Добавлено через 1 минуту
Сообщение от OwenGlendower
Да. Хотя лучше сделать метод который принимает путь к каталогу и удаляет файлы/подкаталоги из него.
Если не сложно пример
Администратор
16393 / 12872 / 5072
Регистрация: 17.03.2014
Сообщений: 26,185
Записей в блоге: 1
Chesterfield252, забыл про еще один момент. Если методы удаления «спотыкатся» при удалении, то они не продолжают дальше. Нужно удалять файлы и каталоги по одному игнорируя те которые не получается удалить.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
static void CleanupDirectory(string path) { string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories); Array.Sort(files, (s1,s2) => s2.CompareTo(s1)); foreach (string file in files) { try { File.Delete(file); } catch { } } string[] directories = Directory.GetDirectories(path, "*.*", SearchOption.AllDirectories); Array.Sort(directories, (s1,s2) => s2.CompareTo(s1)); foreach (string dir in directories) { try { Directory.Delete(dir); } catch { } } }
CleanupDirectory(Environment.ExpandEnvironmentVariables(@"%windir%\temp"));
Регистрация: 12.06.2017
Сообщений: 227
То есть простыми словами, код который ранее был он удаляет до тех пор пока ему не станет на пути файл который занят другими процессами, если такой файл есть то он перестаёт удалять вообще, правильно я понял?
Администратор
16393 / 12872 / 5072
Регистрация: 17.03.2014
Сообщений: 26,185
Записей в блоге: 1
Chesterfield252, да
Регистрация: 12.06.2017
Сообщений: 227
Вот полный мой код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace _1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string tempPath = Environment.ExpandEnvironmentVariables(@"%windir%\Temp"); foreach (string file in Directory.GetFiles(tempPath)) File.Delete(file); foreach (string file in Directory.GetDirectories(tempPath)) Directory.Delete(file, true); } private void Form1_Load(object sender, EventArgs e) { } } }
если не сложно замени на правельный
Добавлено через 4 минуты
только что бы это можно было выбрать из comboBox, в нём будит надпись очистить папку temp
Как получить путь к файлу, чтобы всё работало и при разработке и при развёртывании?
Здравствуйте. Пишу в учебных целях небольшое веб-приложение. Я создал отдельный слой для работы с данными, являющийся библиотекой. На момент разработки структура папок следующая:
В папке с конфигурацией хранится следующий файл JSON, его код будет десериализовываться в объект типа DatabaseConfiguration, чтобы потом удобно извлекать нужные данные:
Я столкнулся с одной проблемой. Мне нужно получать путь к этому файлу независимо от машины и от того, развёрнуто приложение или нет. Environment.CurrentDirectory выдаёт путь к исполняемому файлу, Directory.GetCurrentDirectory() выдаёт также путь к исполняемому файлу. Но мне то нужен как бы главный каталог приложения, где и находятся папки с конфигурацией, контекстами данных, моделями и прочим. Помогите. Расскажите, как его получить.
Заранее спасибо.
P.S. Если у вас есть предложения, как можно было бы улучшить систему конфигурации в слое данных, то рассказывайте.
- Вопрос задан более двух лет назад
- 1079 просмотров
Комментировать
Решения вопроса 2
Готовые решения — не подаю, но.
Почему бы и не плясать именно от расположения исполняемого файла?
Например ..\..\config
p.s. Только Environment.CurrentDirectory — штука несколько зыбкая, лучше Assembly.GetExecutingAssembly().Location
Ответ написан более двух лет назад
Нравится 3 16 комментариев
Антон Барышев @AVollane Автор вопроса
Вы предлагаете из строки пути к исполняемому файлу сделать нужный путь, я правильно понимаю?
Антон Барышев, совершенно верно. По крайней мере это достаточно определенная (и более-менее гарантированная) точка отсчета от которой можно плясать.
Кстати достаточно распространенная практика — размещать неизменяемые в процессе работы конфиги рядом с исполняемым файлом исходит из этой же логики.
Антон Барышев @AVollane Автор вопроса
d-stream, а если у меня библиотека и конфиг находится там, это тоже сработает?
А почему бы этому не сработать?
Как скопировать полный путь к файлу или папке на Mac: 5 способов
Как вы уже, наверное, знаете, для хранения файлов в компьютере используется древовидная структура. Но далеко не всегда понятно где взять этот полный путь к файлу или папке. Мы расскажем, как это можно сделать в macOS. Возможно, эта строка вам понадобится в дальнейшем для создания ярлыка, ее затребует какое-то приложения или просто информация будет полезной для самого пользователя.
Мы рассмотрим различные способы поиска и отображения полного пути к файлу. Оказывается, в macOS есть несколько вариантов действия. Но такое разнообразие дает возможность выбрать наиболее удобный и простой для себя вариант.
Как найти путь к файлу на Mac при помощи строки пути в Finder?
Самый простой способ всегда видеть полный путь к файлу или папке в macOS – использовать Строку пути Finder.
Откройте Finder и выберите Вид → Показать строку пути.
После этого вы сможете увидеть в нижней части окна полный путь к текущему местоположению файлов. Если у вас отображается еще и строка состояния, то панель пути появится прямо над ней.
Приятной особенностью этого элемента является его интерактивность. Так что показанная информация не просто для красоты – ею можно и воспользоваться (подробно).
Как скопировать полный путь к файлу или папке на macOS при помощи контекстного меню Finder
Начиная с macOS El Capitan компания Apple представила новый способ копирования пути к файлов. Он – не самый очевидный (если только вы не опытный «маковод»), зато позволяет скопировать сразу полный «адрес» до файла или папки.
1. Откройте новое окно Finder (кликните на иконку или в строке меню выберите Файл → Новое окно Finder);
2. Найдите нужный файл или папку и нажмите на него правой кнопкой мыши. Если вы не пользуетесь правой кнопкой – зажмите клавишу Ctrl и кликните по файлу или папке. Появится контекстное меню.
3. Не закрывая контекстное меню, зажмите клавишу ⌥Option (Alt). Присмотритесь – в меню появились новые команды.
4. Выберите пункт Скопировать путь до [имя файла или папки].
Готово! Полный путь к файлу только что был добавлен в буфер обмена. Чтобы вставить его в любое совместимое macOS-приложение, нажмите ⌘Cmd + V.
Как скопировать путь к файлу или папке при помощи меню Свойства в Finder
Когда вы щелкаете правой кнопкой мыши по какому-нибудь элементу на своем Mac, то в контекстном меню вы видите опцию «Свойства». Если вы нажмете на нее, то сможете увидеть разнообразную информацию о выделенном файле или папке.
Разверните раздел «Основные» во всплывающем окне «Свойства» и рядом с полем «Место» вы увидите нужный вам путь к элементу.
Если для сохранения имени пути вы используете курсор и выделение с его помощью, то затем просто нажмите ⌘Cmd + C. Это позволит скопировать текст в буфер обмена. Потом его можно будет вставить в нужное место или в «Заметки», чтобы при необходимости сохранить.
Как скопировать путь к файлу или папке при помощи Терминала
Если вас не пугает использовать время от времени «Терминал» с его простыми командами, то этот инструмент тоже может оказаться удобным для получения информации о пути к файлу.
Откройте «Терминал» и перетащите в его окно файл или папку.
Вы увидите, как в строке ввода команды появится путь к используемому элементу. Вы можете тут же выделить его и скопировать.
Как увидеть путь к папке при помощи строки заголовка Finder
Хотя эта возможность и не предоставит вам пути, который можно будет скопировать, вы увидите путь к файлу в древовидной форме. Так что, если вам требует наглядно увидеть этапы перехода между ветвями дерева файлов, то воспользуйтесь этим трюком.
В открытом Finder щелкните правой кнопкой мыши (или удерживая ⌘Cmd или Control) в строке заголовка по значению текущей открытой папки.
Вы увидите раскрывающийся список с древовидной структурой и путем. Здесь вы можете щелкнуть по любой папке или элементу в списке, чтобы перейти непосредственно к одному из них.
Заключение
Оказывается, в macOS узнать полный путь к файлу не так и сложно. Мы предложили вам сразу шесть способов, воспользуйтесь одним из них, когда понадобится эта информация. Возможно, вы знаете другой способ узнать полный путь к файлу? Тогда расскажите нам о нем!
Смотрите также:
- Есть ли Ctrl + Alt + Del в macOS?
- Что такое Режим внешнего диска на Mac и как его настроить.
- Как узнать, откуда был скачан файл на Mac.
Мы в Telegram и YouTube, подписывайтесь!
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка 5 / 5. Количество оценок: 20
Оценок пока нет. Поставьте оценку первым.