Vb net получить имя файла без расширения
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получить имя файла
GetBaseName (path) – данный метод предоставляет возможность получить базовое имя файла без его расширения.
GetExtensionName (path) – возвращает расширения файла.
GetFileName (path) – вернёт полное имя файла вместе с его расширением.
Все три метода принимают один параметр (path), который содержит строковое значение, а именно, полный путь к анализируемому файлу.
Хорошо, теперь давайте приступим к практической стороне, а именно, напишем два примера, которые позволят получить имя файла – полное, без расширения и только расширение. Один пример на языке vbscript, а другой на языке jscript. Логика обоих сценариев будет аналогичной, то есть, в текущем каталоге будет создаваться новая папка, далее, в ней будут создаваться три временных файла. В самом конце будет происходить вывод списка, содержащего полное имя файла в файловой системе, его базовое имя и расширение.
И так, первый пример:
'*********************************************************************** ' Объект FileSystemObject методы GetFileName GetBaseName GetExtensionName ' Получить имя файла с расширение, без и само расширение ' GetFile_Base_Extensionname.vbs '*********************************************************************** Option Explicit dim FSO, WshShell, cur_dir, new_folder, new_file, list, index 'Создаем объект FileSystemObject set FSO=WScript.CreateObject("Scripting.FileSystemObject") ' Создаем объект WScript.Shell set WshShell = WScript.CreateObject("WScript.Shell") ' путь к текущему каталогу cur_dir = WshShell.CurrentDirectory ' в текущей папке создаем новый каталог set new_folder=FSO.CreateFolder("Новый каталог_vbs") list = "Содержимое папки" & new_folder & vbCrLf & vbCrLf ' создаем 3 временных файла for index=1 to 3 'получить полное имя временного файла new_file = FSO.GetTempName ' создаем временный файл FSO.CreateTextFile(new_folder & "\" & new_file) ' получаем список list = list & "Полное имя: " & FSO.GetFileName(new_folder & "\" & new_file) & vbCrLf list = list & "Базовое имя: " & FSO.GetBaseName(new_folder & "\" & new_file) & vbCrLf list = list & "Расширение: " & FSO.GetExtensionName(new_folder & "\" & new_file) & vbCrLf & vbCrLf next ' выводим значение переменной list WScript.Echo list
Начнём с назначения переменных, которые мы объявили с помощью ключевого слова dim:
FSO – данная переменная будет хранить ссылку на экземпляр объекта FileSystemObject, то, что это именно ссылка, определяет ключевое слово set. Для формирования ссылки мы использовали функцию CreateObject объекта Wscript.
WshShell – эта переменная хранит ссылку на объект WScript.Shell, который нужен, что бы получить имя файла, являющегося временным.
cur_dir – тут мы храним полный путь к текущему каталогу (каталог, из которого запущен данный сценарий), для этого, мы использовали свойство CurrentDirectory (смотрите статью "Объект WScript.Shell - метод ExpandEnvironmentStrings и свойство CurrentDirectory")
new_folder – хранит путь к новому каталогу, который мы создали с помощью метода CreateFolder (статья "Объект FileSystemObject метод CreateFolder").
new_file – значение будет содержать полное имя временного файла, его мы назначаем с помощью метода GetTempName (статья "Объект FileSystemObject метод DeleteFile и GetTempName").
list – хранит список с нужными значениями.
index – переменная используется в цикле for.
Сам текстовый документ мы создаем с помощью метода CreateTextFile (статья "Объект FileSystemObject метод CreateTextFile"), получить имя файла.
Обратите внимание, что методам GetFileName, GetBaseName и GetExtensionName мы передаем строку, состоящую из слияния двух переменных (new_folder и new_file), между которыми мы вставляем разделитель (косую черту).
А вот аналогичный пример, который позволяет получить имя файла, но уже на языке jscript:
//*********************************************************************** // Объект FileSystemObject методы GetFileName GetBaseName GetExtensionName // Получить имя файла с расширение, без и само расширение // GetFile_Base_Extensionname.js //*********************************************************************** var FSO, WshShell, cur_dir, new_folder, new_file, list, index; //Создаем объект FileSystemObject FSO=WScript.CreateObject("Scripting.FileSystemObject"); // Создаем объект WScript.Shell WshShell = WScript.CreateObject("WScript.Shell"); // путь к текущему каталогу cur_dir = WshShell.CurrentDirectory; // в текущей папке создаем новый каталог new_folder=FSO.CreateFolder("Новый каталог_js"); list = "Содержимое папки" + new_folder + "\n\n"; // создаем 3 временных файла for (index=1; index // выводим значение переменной list WScript.Echo (list);
Тут в принципе производятся те же действия, только создается новая папка под другим именем (чтобы не создавать конфликт), вместо перевода строки мы используем последовательность "\n", ну и косую черту мы прописываем дважды.
И так, мы рассмотрели три метода объекта FileSystemObject - GetFileName, GetBaseName и GetExtensionName, которые позволяют получить тот или иной формат имени файла или его расширение, если есть вопросы, пишите в комментариях, так же подписывайтесь на сайт для получения новых статей.
Спасибо за внимание. Автор блога Владимир Баталий
Применяется к
Перегрузки
Возвращает расширение из пути к файлу, представленного диапазоном символов только для чтения.
Возвращает расширение указанной строки пути (включая точку ".").
Комментарии
Этот метод получает расширение path путем поиска path точки (.), начиная с последнего символа path и продолжая к первому символу. Если точка найдена до или DirectorySeparatorChar AltDirectorySeparatorChar символа, возвращаемая строка содержит точку и символы после нее; в противном случае String.Empty возвращается.
Список распространенных задач ввода-вывода см. в разделе "Общие задачи ввода-вывода".
Как добавить расширения к файлу без расширения?
Помогите не знаю куда писать. Делаю конвертер изображения на Visual Studio vb . Суть в чем - есть.
Получить полное имя файла без расширения
Задача: получить полное имя файла и заменить в нём (не добавить) расширение Делаю это так: Dim.
Запустить приложение типа .exe БЕЗ расширения
Есть файл "example", это "example.exe", но только без расширения. Задача: необходимо запустить этот.
и проверьте
А вот там где фильтр файлов на скрине, наверное надо заменять в коде в 5 строке где у вас "*.*"
January29, Вы можете сами убедиться создайте на рабочем столе файл с названием типа .тест и увидите то-же самое он и этот файл выдаст в результате кроме файлов без расширения.Где фильтр файлов там выбирается маска по которому идёт поиск.Вот так это выглядит в коде
Да выдал .тест но это же имя файла, а не расширение файла. Если вам мешает эта точка то поставьте в цикле For перед Listbox1 строчку
Нет конечно, потому что слева имя файла, а справа расширение:
ИмяФайла точка Расширение
Добавлено через 3 минуты
И символ «точка» входит в расширение.
И в имени файла тоже могут быть точки, поэтому расширение определяется по точке справа.
Комментарии
Возвращаемое значение — это null значение, если путь к файлу имеет null значение .
Символы разделителя, используемые для определения начала имени файла, AltDirectorySeparatorCharи DirectorySeparatorChar .
Так как \ это юридическое имя файла в Unix, GetFileName работающее на платформах под управлением Unix, не может правильно вернуть имя файла из пути на основе Windows, например C:\mydirmyfile.ext\, но GetFileName выполнение на платформах на основе Windows может правильно возвращать имя файла из пути на основе Unix, например /tmp/myfile.ext, поэтому поведение GetFileName метода не совпадает с поведением на основе Unix и платформы на основе Windows.
Список распространенных задач ввода-вывода см. в разделе "Общие задачи ввода-вывода".
Довольно часто нужно имя файла без его расширения, или получить имя и расширение файла в заданном пути. В большинстве случаев, такие задачи возникают при программировании, например, когда надо получить список файлов, имена которых будут в заданном формате.
Одним из вариантов решения поставленной задачи является использование объекта FileSystemObject, а точнее, его методов, давайте познакомимся с ними…
GetFileName(ReadOnlySpan)
Возвращает имя и расширение файла из пути к файлу, представленного диапазоном символов только для чтения.
Параметры
Диапазон только для чтения, содержащий путь, из которого нужно получить имя и расширение файла.
Возвращаемое значение
Символы, следующие за последним символом разделителя каталогов в пути path .
См. также раздел
GetExtension(String)
Возвращает расширение указанной строки пути (включая точку ".").
Параметры
Строка пути, из которой нужно получить расширение.
Возвращаемое значение
Расширение указанного пути (включая точку ".") или значение null или Empty. Если параметр path имеет значение null , GetExtension(String) возвращает null . Если параметр path не содержит сведений о расширении, GetExtension(String) возвращает Empty.
Исключения
GetFileName(String)
Возвращает имя файла и расширение указанной строки пути.
Параметры
Строка пути, из которой нужно получить имя файла и расширение.
Возвращаемое значение
Символы, следующие за последним символом разделителя каталогов в пути path . Если последним символом параметра path является символ разделения тома или каталога, этот метод возвращает Empty. Если значением параметра path является null , метод возвращает null .
Исключения
Примеры
В следующем примере показано поведение GetFileName метода на классической платформе на основе Windows.
См. также раздел
Комментарии
Этот метод получает расширение path путем поиска path точки ("."), начиная с последнего символа в диапазоне только для чтения и продолжая к первому символу. Если точка найдена до или DirectorySeparatorChar AltDirectorySeparatorChar символа, возвращаемый диапазон только для чтения содержит точку и символы после нее; в противном случае ReadOnlySpan.Empty возвращается.
GetExtension(ReadOnlySpan)
Возвращает расширение из пути к файлу, представленного диапазоном символов только для чтения.
Параметры
Путь к файлу, из которого необходимо получить расширение.
Возвращаемое значение
Расширение указанного пути (включая точку — ".") или Empty, если в path отсутствуют сведения о расширении.
Комментарии
Возвращаемый диапазон только для чтения содержит символы пути, который следует за последним разделителем в path . Если последний символ является path символом разделителя тома или каталога, метод возвращается ReadOnlySpan.Empty. Если path символ разделителя не содержится, метод возвращает path .
Решение
Не получается измененить файл без расширения
Заранее признаюсь, я - новичок, а посему не серчайте братцы) Столкнулся с такой проблемой: Мне.
Найти файл по имени, не зная расширения
Люди подскажите пожалуйста такую вещь, в папку ложиться файл, имя известно а расширение нет. Как.
Файлы без расширения
Как прописать путь к файлу, если у файла нет расширения. Например.
Удаление файлов без расширения
Доброго времени суток. Имеются некоторые файлы без расширения, задача в том чтобы их удалить.
Получить имя файла без расширения
Дана строка, содержащая полное имя файла, то есть имя диска, спи- сок каталогов (путь), .
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Применяется к
Примеры
В следующем примере показано использование GetExtension метода на классической платформе на основе Windows.
Получить имя файла
GetBaseName (path) – данный метод предоставляет возможность получить базовое имя файла без его расширения.
GetExtensionName (path) – возвращает расширения файла.
GetFileName (path) – вернёт полное имя файла вместе с его расширением.
Все три метода принимают один параметр (path), который содержит строковое значение, а именно, полный путь к анализируемому файлу.
Хорошо, теперь давайте приступим к практической стороне, а именно, напишем два примера, которые позволят получить имя файла – полное, без расширения и только расширение. Один пример на языке vbscript, а другой на языке jscript. Логика обоих сценариев будет аналогичной, то есть, в текущем каталоге будет создаваться новая папка, далее, в ней будут создаваться три временных файла. В самом конце будет происходить вывод списка, содержащего полное имя файла в файловой системе, его базовое имя и расширение.
И так, первый пример:
'*********************************************************************** ' Объект FileSystemObject методы GetFileName GetBaseName GetExtensionName ' Получить имя файла с расширение, без и само расширение ' GetFile_Base_Extensionname.vbs '*********************************************************************** Option Explicit dim FSO, WshShell, cur_dir, new_folder, new_file, list, index 'Создаем объект FileSystemObject set FSO=WScript.CreateObject("Scripting.FileSystemObject") ' Создаем объект WScript.Shell set WshShell = WScript.CreateObject("WScript.Shell") ' путь к текущему каталогу cur_dir = WshShell.CurrentDirectory ' в текущей папке создаем новый каталог set new_folder=FSO.CreateFolder("Новый каталог_vbs") list = "Содержимое папки" & new_folder & vbCrLf & vbCrLf ' создаем 3 временных файла for index=1 to 3 'получить полное имя временного файла new_file = FSO.GetTempName ' создаем временный файл FSO.CreateTextFile(new_folder & "\" & new_file) ' получаем список list = list & "Полное имя: " & FSO.GetFileName(new_folder & "\" & new_file) & vbCrLf list = list & "Базовое имя: " & FSO.GetBaseName(new_folder & "\" & new_file) & vbCrLf list = list & "Расширение: " & FSO.GetExtensionName(new_folder & "\" & new_file) & vbCrLf & vbCrLf next ' выводим значение переменной list WScript.Echo list
Начнём с назначения переменных, которые мы объявили с помощью ключевого слова dim:
FSO – данная переменная будет хранить ссылку на экземпляр объекта FileSystemObject, то, что это именно ссылка, определяет ключевое слово set. Для формирования ссылки мы использовали функцию CreateObject объекта Wscript.
WshShell – эта переменная хранит ссылку на объект WScript.Shell, который нужен, что бы получить имя файла, являющегося временным.
cur_dir – тут мы храним полный путь к текущему каталогу (каталог, из которого запущен данный сценарий), для этого, мы использовали свойство CurrentDirectory (смотрите статью "Объект WScript.Shell - метод ExpandEnvironmentStrings и свойство CurrentDirectory")
new_folder – хранит путь к новому каталогу, который мы создали с помощью метода CreateFolder (статья "Объект FileSystemObject метод CreateFolder").
new_file – значение будет содержать полное имя временного файла, его мы назначаем с помощью метода GetTempName (статья "Объект FileSystemObject метод DeleteFile и GetTempName").
list – хранит список с нужными значениями.
index – переменная используется в цикле for.
Сам текстовый документ мы создаем с помощью метода CreateTextFile (статья "Объект FileSystemObject метод CreateTextFile"), получить имя файла.
Обратите внимание, что методам GetFileName, GetBaseName и GetExtensionName мы передаем строку, состоящую из слияния двух переменных (new_folder и new_file), между которыми мы вставляем разделитель (косую черту).
А вот аналогичный пример, который позволяет получить имя файла, но уже на языке jscript:
//*********************************************************************** // Объект FileSystemObject методы GetFileName GetBaseName GetExtensionName // Получить имя файла с расширение, без и само расширение // GetFile_Base_Extensionname.js //*********************************************************************** var FSO, WshShell, cur_dir, new_folder, new_file, list, index; //Создаем объект FileSystemObject FSO=WScript.CreateObject("Scripting.FileSystemObject"); // Создаем объект WScript.Shell WshShell = WScript.CreateObject("WScript.Shell"); // путь к текущему каталогу cur_dir = WshShell.CurrentDirectory; // в текущей папке создаем новый каталог new_folder=FSO.CreateFolder("Новый каталог_js"); list = "Содержимое папки" + new_folder + "\n\n"; // создаем 3 временных файла for (index=1; index // выводим значение переменной list WScript.Echo (list);
Тут в принципе производятся те же действия, только создается новая папка под другим именем (чтобы не создавать конфликт), вместо перевода строки мы используем последовательность "\n", ну и косую черту мы прописываем дважды.
И так, мы рассмотрели три метода объекта FileSystemObject - GetFileName, GetBaseName и GetExtensionName, которые позволяют получить тот или иной формат имени файла или его расширение, если есть вопросы, пишите в комментариях, так же подписывайтесь на сайт для получения новых статей.
Спасибо за внимание. Автор блога Владимир Баталий
Довольно часто нужно имя файла без его расширения, или получить имя и расширение файла в заданном пути. В большинстве случаев, такие задачи возникают при программировании, например, когда надо получить список файлов, имена которых будут в заданном формате.
Одним из вариантов решения поставленной задачи является использование объекта FileSystemObject, а точнее, его методов, давайте познакомимся с ними…
Перегрузки
Возвращает имя и расширение файла из пути к файлу, представленного диапазоном символов только для чтения.
Возвращает имя файла и расширение указанной строки пути.
Читайте также: