如何使用 Windows 批处理脚本提取输入文件参数的扩展名

如何使用 Windows 批处理脚本提取输入文件参数的扩展名

给定这个批处理脚本 - 我如何隔离文件名和扩展名,如给出的输出所示:

@echo off
REM usage split.bat <filename>
set input_file="%1"
echo input file name is <filename> and extension is <extension>

c:\split.bat testfile.txt
input filename is testfile and extension is txt

也就是说 -<filename> and <extension>这段代码的正确语法是什么?

答案1

如何从中分离文件名和扩展名%1

使用以下批处理文件(split.bat):

@echo off 
setlocal
REM usage split.bat <filename>
set _filename=%~n1
set _extension=%~x1
echo input file name is ^<%_filename%^> and extension is ^<%_extension%^>
endlocal  

笔记:

  • %~n1- 扩展%1为不带文件扩展名的文件名。

  • %~x1-%1仅扩展到文件扩展名。

  • <并且>是特殊字符 (重定向)并且必须逃脱使用^

使用示例:

> split testfile.txt
input file name is <testfile> and extension is <.txt>

进一步阅读

相关内容