我有关于批处理文件的问题
所以在这个目录中,假设C:\ temp \我有两个项目,一个是文件夹,另一个是名为"list.txt"的文本文件
我怎样才能找到该文件夹的名称?
谢谢
如果您只想列出当前目录的子目录:
dir /ad /b
Run Code Online (Sandbox Code Playgroud)
如果您在另一个目录中,您可以执行以下操作:
dir c:\temp /ad /b
Run Code Online (Sandbox Code Playgroud)
/ad表示列出所有具有“目录”属性的项目,并且/b是裸格式
更新:
就像 Bill 在下面评论的那样,您可以迭代 dir cmd 的输出并设置环境变量。这里的陷阱是,如果有多个子文件夹,您将不知道哪一个是“最后一个”。下面是一个按名称 (/on) 对目录进行排序并将环境变量 MY_ENV_VAR 设置为最后一个子文件夹的名称的示例:
for /f "delims=" %%a in ('dir "c:\temp" /on /ad /b') do @set MY_ENV_VAR=%%a
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果您要进行更多的脚本编程,您可能需要花一些时间学习一些 PowerShell 基础知识,这可以为您提供更多的编程控制。
Get-ChildItem | where {$_.PSIsContainer}
Run Code Online (Sandbox Code Playgroud)
我发现批处理脚本使用一段时间后会令人沮丧。