2017-08-02 61 views
-5

過濾器的文件夾用「@」的名字,我確實有文件夾批次 - 在beggining

my_folders 
    @folder1 
    @next_one 
    some_folder_without_at 
    @third 
    some_file.txt 

我走到這一步,將所有文件夾

文件夾
for /d %%i in ("C:\my\path\to\my_folders\*") do (
    call :setfolders %%i 
) 

目標:我要過濾結果,並在開始時僅添加@的文件夾

+4

標籤說'bash'但腳本看起來像Windows/DOS批處理文件? –

+3

你確定你在討論bash嗎?看起來不像我。您是否在該模式結束時嘗試過@ @ *? –

+1

如果'bash'使用glob'@ *' – dawg

回答

0

如果您只想處理my_folders目錄中以@開頭的文件,則th Ë通配符很簡單:

for i in my_folders/@*; 
do 
    setfolders "$i" 
done 

如果你想只處理那些目錄本身,你必須添加/的通配符,或內環路測試類型的選擇:

for i in my_folders/@*/; 
do 
    setfolders "${i%/}" 
done 
for i in my_folders/@*; 
do 
    test -d "$i" && setfolders "$i" 
done