在string上应用expression式

我是新来的批次,我知道你可以使用

%~dp0 

从path中获取目录,但是如何在path上使用它并将其放入variables中。

说我有这个位置:

 C:\someFolderName\anotherFolderName\FinalFolderName\file.txt 

我想知道path是什么(不包括驱动器和文件),并将其存储到一个variables

代字符表示法适用于循环变量和call函数参数。 查看这个示例.bat脚本,了解每个方法的示例:

 @echo off setlocal set "fqname=C:\someFolderName\anotherFolderName\FinalFolderName\file.txt" rem // set var1 to the path-to-file for %%I in ("%fqname%") do set "var1=%%~dpI" rem // set var2 to the path-to-file call :get_path var2 "%fqname%" echo var1: %var1% echo var2: %var2% rem // end main runtime goto :EOF rem // get_path function :get_path <var_to_set> <filename> set "%~1=%~dp2" goto :EOF 

在cmd窗口中,输入help for并查看最后几页,了解波浪符号的详细信息。