npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

batch-exec-cli

v1.3.1

Published

Efficiently iterate through directories and execute commands with progress display and parallel execution

Readme

batch-exec-cli

高效批量命令执行工具,能够遍历目录内所有直接子目录并执行命令。

功能特性

  • 🚀 高效遍历目标目录的所有直接子目录, 默认并行执行
  • 📁 支持绝对路径和相对路径
  • 🚫 可配置忽略目录(支持 .gitignore 风格的模式匹配)
  • 📊 提供执行摘要和失败目录列表
  • 🔧 跨平台支持(Windows、macOS、Linux)
  • 💬 详细的 verbose 输出模式
  • 🎨 彩色高亮输出,便于识别目录路径和命令
  • ⏳ 实时进度条显示,带旋转动画和执行时间
  • ✨ 精美的输出格式和摘要展示

安装

npm install -g batch-exec-cli

或者克隆项目后本地安装:

git clone <repository-url>
cd batch-exec-cli
npm install
npm link

使用方法

基本用法

batch-exec <目录> <命令> [参数...]

示例

./my-projects 目录下的所有子目录中执行 git pull

batch-exec ./my-projects git pull

./my-projects 目录下的所有子目录中更新 lodash 依赖:

batch-exec ./my-projects npm update lodash -S

列出所有子目录的内容:

batch-exec ./repos ls -la

选项

| 选项 | 别名 | 描述 | | ------------------- | ---- | ---------------------------------------------- | | -s, --skip <文件> | | 指定忽略文件路径(默认:./.batchexecignore) | | -v, --verbose | | 显示详细输出 | | --no-progress | | 禁用进度条显示 | | --no-parallel | | 禁用并行执行, 按顺序执行 | | -h, --help | | 显示帮助信息 |

使用自定义忽略文件

batch-exec --skip ./custom-ignore.txt ./repos git status

禁用进度条

batch-exec --no-progress ./my-projects npm install

显示详细输出

batch-exec -v ./my-projects git status

输出示例

普通模式(带进度条)

⠋ [████████████████████████████░░] 85% (17/20) [5s]

摘要展示

═══════════════════════════════════════════════════════════════
📊 Execution Summary
═══════════════════════════════════════════════════════════════
  Total directories: 20
  Successful:        18
  Failed:            2

❌ Failed directories:
  • project1: Error: Command failed
  • project3: Error: Permission denied
═══════════════════════════════════════════════════════════════

.batchexecignore 文件格式

.gitignore 文件格式完全相同:

node_modules
dist
build
.git
.idea
.vscode
*.tmp
temp-*

API 使用

你也可以作为库使用:

import { batchExecute } from 'batch-exec-cli';

const results = await batchExecute('./my-projects', 'git', ['pull'], {
  verbose: false,
  showProgress: true
});

console.log(results);

许可证

MIT