在windows上写一个nodejs脚本,要求任何一个目录下都可以调用
时间: 2024-02-16 12:03:40 浏览: 69
在任意目录下使用某个shell脚本的方法
在 Windows 平台上,你可以使用 Node.js 的 `npm link` 命令来创建全局软链接,从而实现任何一个目录下都可以调用的功能。
下面是一个示例脚本,可以实现遍历指定文件夹下的压缩包,解压并删除压缩包的功能:
```javascript
const fs = require('fs');
const path = require('path');
const unzipper = require('unzipper');
const folderPath = process.argv[2]; // 命令行参数,表示需要遍历的文件夹路径
// 遍历文件夹
fs.readdir(folderPath, (err, files) => {
if (err) {
console.error(err);
return;
}
// 遍历文件
files.forEach((file) => {
const filePath = path.join(folderPath, file);
// 判断是否为压缩包
if (filePath.endsWith('.zip')) {
// 解压缩
fs.createReadStream(filePath)
.pipe(unzipper.Extract({ path: folderPath }))
.on('close', () => {
// 删除压缩包
fs.unlinkSync(filePath);
console.log(`${filePath} 解压缩并删除成功`);
});
}
});
});
```
你可以将上述代码保存为一个 `.js` 文件(例如 `unzip.js`),然后在该文件所在的目录下执行以下命令:
```
npm link
```
这个命令会将 `unzip.js` 文件链接到全局命令列表中,从而可以在任何一个目录下调用。例如,如果你在命令行中切换到任何一个目录,都可以执行以下命令,即可遍历该目录下的压缩包,解压并删除压缩包:
```
unzip .
```
其中的 `.` 表示当前目录,你也可以将它替换为任何一个文件夹路径。
阅读全文