批处理中扩展解释%~的相关知识和用法,并给出示例和实际运行结果展示
在批处理脚本中,%~
是一个特殊的前缀,用于对参数和变量进行字符串处理。这个前缀后面可以跟着不同的字符,用于执行不同的操作。下面是一些常见的用法:
%~f1
- 返回参数或变量的完整路径(包括驱动器和目录)。 示例:
@echo off
set FILENAME=%~f1
echo 完整路径:%FILENAME%
运行结果示例:
完整路径:C:\Users\User\Desktop\example.txt
%~dp1
- 返回参数或变量的驱动器和目录路径。 示例:
@echo off
set FILENAME=%~dp1
echo 驱动器和目录:%FILENAME%
运行结果示例:
驱动器和目录:C:\Users\User\Desktop\
%~n1
- 返回参数或变量的文件名部分(不包括路径和扩展名)。 示例:
@echo off
set FILENAME=%~n1
echo 文件名:%FILENAME%
运行结果示例:
文件名:example
%~x1
- 返回参数或变量的扩展名部分。 示例:
@echo off
set FILENAME=%~x1
echo 扩展名:%FILENAME%
运行结果示例:
扩展名:.txt
这些只是%~
前缀的一些常见用法,你可以根据需要进行组合和调整。
当使用%~
前缀时,还有一些其他的字符可以用于字符串处理。下面是一些常见的用法:
%~nx1
- 返回参数或变量的文件名及扩展名部分。 示例:
@echo off
set FILENAME=%~nx1
echo 文件名及扩展名:%FILENAME%
运行结果示例:
文件名及扩展名:example.txt
%~s1
- 返回参数或变量的短文件名形式。 示例:
@echo off
set FILENAME=%~s1
echo 短文件名:%FILENAME%
运行结果示例:
短文件名:C:\PROGRA~1\EXAMPLE.TXT
%~dpnx1
- 返回参数或变量的驱动器、目录、文件名及扩展名部分。 示例:
@echo off
set FILENAME=%~dpnx1
echo 驱动器、目录、文件名及扩展名:%FILENAME%
运行结果示例:
驱动器、目录、文件名及扩展名:C:\Users\User\Desktop\example.txt
%~zi
- 返回参数或变量的文件大小(字节数)。 示例:
@echo off
set FILENAME=example.txt
for %%F in (%FILENAME%) do set SIZE=%%~zi
echo 文件大小:%SIZE% 字节
运行结果示例:
文件大小:1024 字节
这些示例展示了%~
前缀的更多用法,你可以根据需要选择适合的字符组合。