1

我正在尝试使用某种类型的正则表达式(以“JobResults”开头)仅在当前路径中将所有子文件夹/目录回显到屏幕上,但屏幕上没有显示任何内容。

For /d %i in ("C:\Interns 2013 Projs\JobResults*") DO echo %~ni 

如果我将 /d 替换为 /r,则只有文件而非目录会回显到屏幕上

4

3 回答 3

1

尝试这个:

For /d /r "C:\Interns 2013 Projs" %i in (JobResults*) DO echo %~ni 
于 2013-07-05T21:02:23.137 回答
0

如果您要查找名称以 开头的所有子文件夹JobResults,例如

C:\Interns 2013 Projs\JobResults 23
C:\Interns 2013 Projs\bar\JobResults_42

像这样的东西应该工作:

@echo off

for /r %%d in (.) do (
  echo %%~nd | findstr /r "^JobResults" >nul 2>&1 && echo %%~fd
)

如果您要在工作目录中查找名称以 开头的这些文件夹的所有子文件夹JobResults,例如

C:\Interns 2013 Projs\JobResults 23
C:\Interns 2013 Projs\JobResults 23\foo
C:\Interns 2013 Projs\JobResults 23\foo\bar

像这样的东西应该工作:

@echo off

for /f "tokens=*" %%d in ('dir /b /a:d /s') do (
  echo %%~d | findstr /r "^%CD:\=\\%\\JobResults" && echo %%~d
)
于 2013-07-05T23:52:40.983 回答
0

如果您只想将结果回显到屏幕上,可以这样做:

dir /s /ad /b "C:\Interns 2013 Projs\JobResults*"
于 2013-07-06T06:46:28.340 回答