2011-04-13 32 views
1

誰能告訴我如何建立一個.bat文件,會做以下的窗口:CMD環和輸出的子文件夾位置

讓我們說我有C:\ somefolder \我從中運行dostuff.bat然後打印在c子文件夾的完整地址:\ somefolder \

如:

c:\somefolder\sub1\subsub1\ 
c:\somefolder\sub1\subsub2\ 
c:\somefolder\sub1\subsub3\ 
c:\somefolder\sub2\subsub1\ 
... 
... 

只需要去兩個層次下來,有沒有什麼幫助。

感謝
卡爾

回答

3

您可以使用FOR /D命令

for /D %%A in ("C:\temp\*") do (
    echo %%A 
    for /D %%2 in ("%%~A\*") do echo --- %%~2 
) 
+0

嗯......在批處理腳本中是否存在'%% 2'這樣的事情?你有沒有想過'%% B'? – 2011-04-14 06:30:15

+2

@Andriy M:%% 2或%% B的處理方式是相同的,幾乎每個字符都可以用於這個,甚至百分號'for %%%% in(test)do echo %%〜%%' – jeb 2011-04-14 08:23:37

+0

哇,這很好。我會盡量記住,當我用完52個字母的變數時。 :) 謝謝! – 2011-04-14 08:52:07

2

可以使用find命令的DOS端口:

find . -maxdepth 2 -type d 

Download GNU utilities to get find.exe here.

+0

+1,它解決了它作爲一個班輪,但它似乎有點矯枉過正使用/下載gnu utils只爲這個 – jeb 2011-04-13 22:20:15

1

我認爲,FOR與選項/D/R path應該給你所需要的輸出:

FOR /R "C:\temp" /D %%A IN (*) ECHO %%A 

如果你特別希望輸出包含\末,把它明確%%A後:

... ECHO %%A\ 
相關問題