4

FORループで使用されるすべてのディレクトリのリストを取得する方法を探しています。

これまでのところ、回避策があります:

set folderList = (folder1 folder2 folder3 folder4)
FOR %%i in %folderList% do zip %%i D:\...my_path...\%%i\*.*

folderList が動的に生成される可能性はありますか?

4

3 に答える 3

6

c:\temp のサブディレクトリを一覧表示する場合

for /f %%i in ('dir c:\temp /ad /b') do echo %%i

これにより、c:\temp のフォルダー名が一覧表示されます。再帰的に取得する場合は、dir コマンドに /s を追加するだけです。

for /f %%i in ('dir c:\temp /ad /b /s') do echo %%i

@dbenham コメント (ありがとう) のように、スペースを含むディレクトリを正しく処理するには、tokens=* を for に追加するだけです:

 for /f "tokens=*" %%i in ('dir c:\temp /ad /b') do echo %%i
于 2013-02-08T08:57:06.883 に答える
2

以下のコードを試してください:

for /d %%F in ("d:\...my_path...\*") do zip "%%~nxF" "%%F\*.*"
于 2013-02-08T12:11:13.260 に答える