Windows полный путь файла

Windows полный путь файла

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

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

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

Полные и относительные пути

Для функций Windows API, которые управляют файлами, имена файлов часто могут быть относительно текущего каталога, в то время как некоторые API требуют полного пути. Имя файла относится к текущему каталогу, если оно не начинается со следующего:

  • UNC-имя любого формата, которое всегда начинается с двух символов обратной косой черты («\\»).
  • Обозначение диска с обратной косой чертой, например » C:\»или» d:\».
  • Одну обратную косую черту, например, «каталог \» или «\file.txt» Это также называется абсолютным путем.

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

  • «C: tmp.txt » относится к файлу с именем «tmp.txt » в текущем каталоге на диске C.
  • «C:tempdir\tmp.txt » относится к файлу в подкаталоге к текущему каталогу на диске C.

Путь также считается относительным, если он содержит «две точки»; то есть два периода вместе в одном компоненте пути. Этот особый спецификатор используется для обозначения каталога над текущим каталогом, иначе известный как «родительский каталог». Примеры такого формата выглядит следующим образом:

  • «..\ tmp.txt » указывает на файл с именем tmp.txt, который расположен в родительском каталоге текущего каталога.
  • «..\..\ tmp.txt » указывает на файл, который расположен выше двух каталогов над текущим каталогом.
  • «..\ tempdir\tmp.txt » указывает файл с именем tmp.txt, который находится в каталоге с именем tempdir в том же каталоге текущего каталога.

Относительные пути могут объединять оба типа примеров, например » C. \tmp.txt «. Это полезно, потому что, хотя система отслеживает текущий диск вместе с текущим каталогом этого диска, она также отслеживает текущие каталоги в каждом из разных букв диска (если ваша система имеет более одного), независимо от того, какой диск обозначается как текущий диск.

Читайте также:  Отключить автооткрытие флешки windows 10

Максимальное ограничение длины пути

В API-интерфейсе Windows (с некоторыми исключениями, которые будут обсуждаться в следующих параграфах), есть максимальная длина пути в max_path, которая определяется как 260 символов. Локальный путь структурирован в следующем порядке: буква диска, двоеточие, обратная косая черта, компоненты имени, разделенные обратной косой чертой, и завершающий нулевой символ. Например, максимальный путь на диск D «D:\some 256-символьный путь строку «, где » » представляет собой невидимый символ NULL для текущей кодовой странице системы. (Символы используются здесь для наглядности и не могут быть частью допустимой строки пути.)

Функции файлового ввода/вывода в Windows API конвертируют «/» в «\» в рамках преобразования имени в НТ-имя типа, за исключением случаев использования «\\?\» префикса.

В Windows API есть множество функций, которые также имеют версии в формате юникода, чтобы разрешить путь расширенной длины для максимальной общей длины пути 32 767 символов. Этот тип пути состоит из компонентов, разделенных обратными косыми чертами, каждый до значения, возвращаемого в параметре Lpmaximumcomponentlength функции GetVolumeInformation (это значение обычно составляет 255 символов). Чтобы указать путь расширенной длины, используйте»\\?\» префикс. Например?\\» ?\D:\очень_длинный_путь».

Обратите внимание, что максимальный путь 32 767 символов является приблизительным, потому что»\\?\ «префикс может быть расширен до более длинной строки системой во время выполнения, и это расширение применяется к общей длине.

Этот же префикс также можно использовать с путями, построенными в соответствии с универсальным соглашением об именовании (UNC). Чтобы указать такой путь с помощью UNC, используйте»\\? \UNC\». Например?\\» ,\UNC-путь\ \ сервер\общий_ресурс», где «сервер» — имя компьютера и » общий_ресурс » — имя общей папки. Эти префиксы не используются как часть самого пути. Они указывают, что путь должен быть передан системе с минимальным изменением, а это означает, что вы не можете использовать прямые косые черты для представления разделителей пути, или точку для представления текущего каталога, или двойные точки для представления родительского каталога. Так как вы не можете использовать «\\?\ «префикс с относительным путем, относительные пути всегда ограничены в общей сложности числом символов MAX_PATH.

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

При использовании API для создания каталога указанный путь не может быть таким длинным, что невозможно добавить Имя файла 8.3 (то есть имя каталога не может превышать MAX_PATH минус 12).

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

Начиная с Windows 10 версии 1607, ограничения MAX_PATH были удалены из общих Win32 файлов и каталогов функций. Тем не менее необходимо выбрать новое поведение. Рееста позволяет включить или отключить новое поведение длинного пути. Для включения длинных путей установить ключ реестра в

Читайте также:  Lsi 9260 4i установка windows 10 без raid

Значение ключа будет кэшироваться системой (на процесс) после первого вызова файла Win32 или функции каталога .Раздел реестра не будет перезагружен в течение всего срока действия процесса. Для того, чтобы все приложения в системе распознали значение ключа, может потребоваться перезагрузка, потому что некоторые процессы могли начаться до того, как ключ был установлен.

Вы также можете включить новое поведение длинного пути для каждого приложения через манифест:

Эти функции управления каталогами, которые не будут иметь ограничения в max_path если вы включите длинные пути: CreateDirectoryW, CreateDirectoryExW GetCurrentDirectoryW RemoveDirectoryW SetCurrentDirectoryW.


Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

статьи IT, Windows, теория программирования, операционные системы

Как скопировать полный путь к файлу или папке в Проводнике файлов Windows 10

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

Файловый проводник в операционной системе — это приложение для управления файлами, которое поставляется в комплекте с ОС, начиная с Windows 95. Кроме операций по управлению объектами, в интерфейсе реализована поддержка панелей быстрого доступа, рабочего стола, сети и других полезнейших функций.

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

Удобно будет это сделать, когда он уже скопирован в буфер обмена. Тогда его можно получить одним нажатием кнопки мыши или определенным сочетанием клавиш.

В ОС Windows 10 есть несколько способов копирования полного пути к объектам в Проводнике. Давайте их рассмотрим.

Полный путь к файлу

1-й метод. Найдите целевой файл и отметьте его. На вкладке «Главная» Панели инструментов найдите кнопку «Скопировать путь» и нажмите её. Дальше вставьте содержимое из буфера обмена в любое место. Оно будет оформлено двойными кавычками.

2-й метод. В адресной строке кликните правой кнопкой мыши. В контекстном меню выберите кнопку копирования адреса как текста. Это работает только для папок. Кавычки не применяются. Первый же пункт меню «Копировать адрес» отправляет в буфер обмена сам объект, который можно будет вставить в другое место на диске.

3-й метод. Просто нажмите левой кнопкой мыши на область адресной строки. Выделенное содержимое станет доступно для редактирования с помощью пунктов контекстного меню.

4-й метод. Для меня самый эффективный и простой. Зажмите клавишу Shift и, удерживая её, щелкните правой кнопкой мыши на нужном файле. Найдите пункт «Копировать как путь» и нажмите на него. В результате вставки также будут присутствовать кавычки.

Командная строка

5-й метод. Быстро вставить полный путь к файлу в Командную строку можно простым перетаскиванием объекта. Расположите рядом окно файлового Проводника и окно интерпретатора команд, зацепите курсором мыши файл в первом и перетащите его во второе.

Читайте также:  Тема япония для windows

Вот и всё! Какие дополнительные методы известны вам? Спасибо за внимание!

Как узнать и скопировать полный путь к файлу в Windows 10

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

В этой крайне короткой инструкции о том, как узнать и скопировать полный путь к файлу или папке в Windows 10, способ подойдет и для предыдущих версий системы.

Как узнать путь к файлу или папке

Если вам требуется узнать путь к файлу или папке в Windows, используя только встроенные средства системы, достаточно перейти в нужную папку, посмотреть путь к ней в адресной строке проводника и добавить к нему имя файла после знака «\». Также вы можете открыть свойства файла (нажав правой кнопкой мыши по нему и выбрав нужный пункт) и увидеть там путь к нему в поле «Расположение».

К этому расположению (которое можно скопировать из окна свойств) также добавляем \ и имя файла, которое также отображается в свойствах — получаем полный путь к файлу, например, для скриншота выше путь буде выглядеть как C:\Windows\Winhlp32.exe. Но это не обязательно делать вручную, есть способ проще.

Копирование пути к файлу или папке

В сторонних файловых менеджерах есть свои функции для выполнения рассматриваемой задачи, но вы можете легко скопировать путь к файлу и во встроенном проводнике Windows 10:

  1. Найдите нужный файл в проводнике.
  2. Удерживая Shift, нажмите правой кнопкой по этому файлу.
  3. Выберите пункт контекстного меню «Копировать как путь».

Готово — теперь вы можете вставить (Ctrl+V, Shift+Insert или через контекстное меню) в любое место, например, в командную строку. Путь к файлу вставляется в кавычках — для большинства применений удалять их не обязательно.

Копирование пути к папке еще проще: находясь в нужной папке, нажмите указателем мыши в правой части адресной строки проводника — весь путь будет выделен.

Скопируйте его в буфер обмена — Ctrl+C, Ctrl+Insert или с использованием контекстного меню.

Видео инструкция

Надеюсь, несмотря на краткость, материал окажется полезным для кого-то из читателей.

А вдруг и это будет интересно:

Почему бы не подписаться?

Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)

10.05.2020 в 11:03

Спасибо за подробную информацию.

10.05.2020 в 14:26

Есть ещё проще вариант для Win10
1) выделить нужный файл
2) в ленте проводника выбрать Главная — раздел Буфер обмена — кнопка Скопировать путь

11.05.2020 в 00:37

А есть ещё вариант, перетащить файл в cmd, путь должен ввестись сам.

11.05.2020 в 01:27

прекрасный у вас сайт
предлагаю-сделать кнопку ночного режима, как на ютюбе, в серых тонах

Оцените статью