是否有一个变量代表脚本的文件名(不包括扩展名)?

是否有一个变量代表脚本的文件名(不包括扩展名)?

我正在制作一个批处理程序,它将.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为不带文件扩展名的文件名

进一步阅读

相关内容