FOR文が分かり難いならforfilesを使ってみるのもアリかもしれません。
参考までに記載いたします。
@fileの部分に対象となるファイル名やフォルダー名が入ってきます。
echoの部分を実行したいコマンドに書き換えてあげればいいかもしれないです。
この場合、フォルダ圧縮用のforfiles、ファイル圧縮用のforfilesが必要ですね。
カレントディレクトリのフォルダを取得
forfiles /p .\ /c "cmd /c IF @isdir==TRUE echo @file"
カレントディレクトリのファイルを取得
forfiles /p .\ /c "cmd /c echo @file"
公式マニュアル
https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/forfiles
Like!