我正在制作一个批处理程序,它将.ini
在执行后创建一个设置文件。我希望设置文件的名称(不包括扩展名)从脚本文件名中提取,因此如果更改了设置文件的名称,则设置名称将更改以反映其创建时的名称。我使用过类似以下程序氢键可以做到这一点,但我不知道怎么做。是否有变量或通配符可用于执行此操作?
我分析了一些可以执行此操作的程序,但有些程序似乎使用了不同的值/方法。其中一个程序使用了%d.ini
。
答案1
我希望设置文件的名称是脚本文件名
使用以下表达式获取脚本文件名:
%~n0
使用示例:
> dir test.cmd
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test
27/07/2017 11:47 65 test.cmd
1 File(s) 65 bytes
0 Dir(s) 1,627,427,311,616 bytes free
> type test.cmd
@echo off
setlocal enabledelayedexpansion
echo %~n0
endlocal
> test
test
笔记:
%0
是批处理文件的名称。%~n0
扩展%0
为不带文件扩展名的文件名
进一步阅读
- Windows CMD 命令行的 AZ 索引
- Windows CMD 命令的分类列表
- 参数- 命令行参数(或参数)是传递到批处理脚本的任何值。