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