如何在标签中获取正在运行的batch file的名称?

当我跑步

call :label :label echo %~0 pause 

而不是回显“C:\用户\我\桌面\ Batch.bat”,它回声“:标签”。 我想要回显“C:\ Users \ Me \ Desktop \ Batch.bat”而不是回显“:label”。

我不想在调用:label之前先存储%〜0。

可以这样做吗? 如果是这样,怎么办?

没有什么特别的要求去实现它的工作

 @echo off setlocal enableextensions disabledelayedexpansion call :label goto :eof :label echo %0 echo %~f0 echo %~nx0 

此代码将显示

 W:\test>labelTest.cmd :label W:\test\labelTest.cmd labelTest.cmd 

如果使用引用文件名/路径/ …的元素的%0子例程参数的任何修饰符,它们将强制使用批处理文件作为数据源而不是标签名称。

 call :label "%~0" :label echo %~0 %~1 pause 

但是,重点是逃避我。