Windows 批处理参数修饰符说明文档#
📌 什么是参数修饰符?#
参数修饰符用于提取文件路径变量中的特定部分,如文件名、扩展名、路径等。常用于批处理脚本中的 %0, %1, %%F 等参数。
🔧 常见语法格式#
%~修饰符N%
%%~修饰符F%%
🧩 参数修饰符一览表#
| 修饰符 | 含义 | 示例(输入:C:\Path\file.txt) | 输出示例 |
|---|
~f | 全路径(Full Path) | %~f1 | C:\Path\file.txt |
~d | 驱动器(Drive) | %~d1 | C: |
~p | 路径(Path) | %~p1 | \Path\ |
~n | 文件名(Name,无扩展) | %~n1 | file |
~x | 扩展名(eXtension) | %~x1 | .txt |
~s | 短文件名(8.3 格式) | %~s1 | C:\PATH\FILE~1.TXT |
~a | 文件属性(Attributes) | %~a1 | --a-------- |
~t | 修改时间(Time) | %~t1 | 2025/05/02 12:00 |
~z | 文件大小(siZe) | %~z1 | 15324 |
🧩 组合使用示例#
| 表达式 | 含义 | 示例输出 |
|---|
%~dp1 | 驱动器 + 路径 | C:\Path\ |
%~nx1 | 文件名 + 扩展名 | file.txt |
%~dpnx1 | 驱动器 + 路径 + 文件名 + 扩展名 | C:\Path\file.txt |
📘 实用示例(在 FOR 循环中)#
@echo off
for %%F in (*.txt) do (
echo 文件路径:%%~fF
echo 文件名:%%~nF
echo 扩展名:%%xF
echo --------
)
🧩 常见修饰符总览(适用于 %%F)#
| 写法 | 含义 |
|---|
%%~fF | 全路径(Full path) |
%%~dF | 驱动器盘符 |
%%~pF | 路径(不含驱动器) |
%%~nF | 文件名(不含扩展名) |
%%~xF | 扩展名 |
%%~nxF | 文件名 + 扩展名 |
%%~dpF | 驱动器 + 路径 |
🔍 示例脚本#
@echo off
for %%F in (*.txt) do (
echo 文件完整路径:%%~fF
echo 文件名(无扩展名):%%~nF
echo ---------
)
如果当前目录下有 report.txt 和 log.txt,输出大致如下:
文件完整路径:C:\Test\report.txt
文件名(无扩展名):report
---------------
文件完整路径:C:\Test\log.txt
文件名(无扩展名):log
---------------