我想知道如何获取当前目录中所有文件夹的名称。例如,我的当前目录中有三个文件夹:
stackoverflow reddit codinghorror
当我执行批处理脚本时,所有三个文件夹的名称都将打印在屏幕上。
我该如何实现这一点?
我想知道如何获取当前目录中所有文件夹的名称。例如,我的当前目录中有三个文件夹:
stackoverflow reddit codinghorror
当我执行批处理脚本时,所有三个文件夹的名称都将打印在屏幕上。
我该如何实现这一点?
使用批处理文件:
for /d %%d in (*.*) do echo %%d
如果你想在命令行上进行测试,请在两种情况下只使用一个百分号。
dir /ad /b
/ad
只会获取目录
/b
以“裸”格式呈现
编辑(回复评论):
如果您想遍历这些目录并对它们进行操作,请使用 for
命令:
for /F "delims=" %%a in ('dir /ad /b') do (
echo %%a
)
%
- 这是用于批处理的,如果您在命令行中使用for,则使用单个%
。使用PowerShell:
gci | ? { $_.PSIsContainer }
旧回答:
使用PowerShell:
gci | ? {$_.Length -eq $null } | % { $_.Name }
您可以将结果作为数组在脚本中使用,然后通过foreach遍历它,或者进行任何您想要的操作...
gci | ?{$_.PSIsContainer}
是规范的方式,实际上。 - Joey获取特定目录下的所有子文件夹并在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
for /d %%d in (*) do @echo %%d
吗? - Helen