batch - 在开头按名称使用“@”过滤文件夹

时间:2017-08-02 15:13:24

标签: batch-file for-loop filter pattern-matching directory

我有文件夹文件夹

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
)

目标:我想过滤结果,并在开头

添加仅包含@的文件夹

1 个答案:

答案 0 :(得分:0)

如果您只想处理my_folders目录中以@开头的文件,则通配符非常简单:

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