我只想知道如何获取当前目录中所有文件夹的名称。例如,在我当前的目录中,我有三个文件夹:
stackoverflow reddit codinghorror
然后当我执行我的批处理脚本时,所有三个文件夹都将在屏幕上打印。
我怎样才能做到这一点?
答案 0 :(得分:9)
使用批处理文件:
for /d %%d in (*.*) do echo %%d
如果要在命令行上测试,请在两种情况下仅使用一个%符号。
答案 1 :(得分:7)
在Windows上,您可以使用:
dir /ad /b
/ad
只会为您提供目录
/b
将以“裸”格式呈现
编辑(回复评论):
如果要迭代这些目录并对它们执行某些操作,请使用for
命令:
for /F "delims=" %%a in ('dir /ad /b') do (
echo %%a
)
%
- 这是批量使用,如果您在命令行中使用,请使用单个%
。答案 2 :(得分:2)
使用PowerShell:
gci | ? { $_.PSIsContainer }
旧答案:
使用PowerShell:
gci | ? {$_.Length -eq $null } | % { $_.Name }
您可以将结果用作脚本中的数组,然后通过它或者您想要做的任何事情...
答案 3 :(得分:0)
获取特定目录的所有子文件夹并将其显示在CMD中:
@echo off
dir C:\input /s /b /o:n /a:d
Pause&Exit
获取特定目录的所有子文件夹并将其保存在文本文件中:
dir C:\your_directory /s /b /o:n /a:d > output.txt