Windows批处理文件中获取指定目录名

游客 发布于 2023-12-09 阅读(19)
在Windows批处理文件中,你可以使用 FOR 命令来获取指定目录的名称。以下是一个简单的示例:

batch

@echo off

setlocal enabledelayedexpansion

set "folderPath=C:\Your\Directory\Path"

for /D %%a in ("%folderPath%") do (

set "folderName=%%~nxa"

echo Folder Name: !folderName!

)

endlocal

在这个例子中,我们首先定义了要查找的目录路径 (folderPath)。然后,我们使用带有 /D 选项的 FOR 命令,该选项用于遍历目录。

"%%a" 是一个变量,它将接收当前遍历到的每个目录名。"%%~nxa" 是一种扩展语法,其中 n 表示“名称”(不包括路径),而 x 表示“完整扩展名”。因此,"%%~nxa" 将只包含目录名及其扩展名(对于目录来说,扩展名通常是空的)。

接着,我们将提取的目录名存储在变量 folderName 中,并使用 !folderName! 输出它(因为我们在脚本开始时启用了延迟环境变量扩展)。最后,我们使用 endlocal 命令关闭局部环境设置。

请注意,这个示例假设你已经知道你要查询的目录路径。如果你想要根据用户输入或其他动态信息获取目录名,请相应地调整代码。