Работа с файлами в командной строке Windows часто требует извлечения имени файла без пути. Эта информация может иметь решающее значение для различных задач, таких как переименование файлов, управление расширениями файлов или выполнение определенных операций с отдельными файлами. В этой статье блога мы рассмотрим несколько простых методов получения только имени файла без сопутствующего пути, используя разговорный язык и примеры кода.
Метод 1: использование синтаксиса %~n
Самый простой способ извлечь имя файла без пути в командной строке Windows — использовать синтаксис %~n. Этот синтаксис извлекает часть имени пути к файлу или переменной.
Пример:
@echo off
set filepath=C:\Folder\Subfolder\File.txt
for %%F in ("%filepath%") do set filename=%%~nF
echo %filename%
Выход: File
Метод 2: использование команды dir
Команду dirв командной строке Windows также можно использовать для получения имени файла без пути.
Пример:
@echo off
set filepath=C:\Folder\Subfolder\File.txt
for /F "delims=" %%F in ('dir /B "%filepath%"') do set filename=%%F
echo %filename%
Выход: File.txt
Метод 3: использование команды PowerShell
Windows PowerShell предлагает мощную альтернативу традиционной командной строке. Вы можете использовать PowerShell для извлечения имени файла без пути с помощью командлета Split-Path.
Пример:
@echo off
set filepath=C:\Folder\Subfolder\File.txt
for /F "delims=" %%F in ('powershell -Command "Split-Path -Leaf \"%filepath%\""') do set filename=%%F
echo %filename%
Выход: File.txt
Метод 4: использование VBScript
VBScript предоставляет другой подход для извлечения имени файла без пути с помощью метода GetFileNameиз класса FileSystemObject.
Пример:
@echo off
set filepath=C:\Folder\Subfolder\File.txt
for /F "delims=" %%F in ('cscript //nologo //E:vbscript "%~dp0\filename.vbs" "%filepath%"') do set filename=%%F
echo %filename%
Содержимое filename.vbs:
Set objFSO = CreateObject("Scripting.FileSystemObject")
WScript.Echo objFSO.GetFileName(WScript.Arguments.Item(0))
Выход: File.txt
Получение имени файла без пути в командной строке Windows — распространенное требование, которое можно выполнить различными способами. В этой статье мы рассмотрели четыре подхода: использование синтаксиса %~n, команды dir, PowerShell и VBScript. Включив эти методы в пакетные сценарии или операции командной строки, вы сможете эффективно манипулировать именами файлов при работе с файлами в среде Windows.