在批处理文件中,如何将文件名和文件扩展名与文件路径分开?

use*_*650 2 windows batch-file

我有一个接受文件路径的批处理文件。然后我需要分别隔离文件名和文件扩展名。例如,如果我的文件路径是“\svr-01\My Docs\My Spreadsheet.xls”,那么我需要两个单独的变量;一份包含“My SpreadSheet”,一份包含“.xls”。

这是我到目前为止所拥有的。我已经能够将文件名和扩展名与路径分开:

set FILEPATH=\\SVR-01\My Docs\My Spreadsheet.xls
for /F "delims=" %%A in ("%FILEPATH%") do set "FILENAME=%%~nxA"
echo.%FILENAME%
Run Code Online (Sandbox Code Playgroud)

然后我如何将文件名和扩展名与该变量分开?

dbe*_*ham 5

set FILEPATH=\\SVR-01\My Docs\My Spreadsheet.xls
for /F "delims=" %%A in ("%FILEPATH%") do (
  set "FILEFULLNAME=%%~nxA"
  set "FILENAME=%%~nA"
  set "FILEEXT=%%~xA"
)
set file
Run Code Online (Sandbox Code Playgroud)