请教一下大家,用node.js调用bat脚本时,如何给bat脚本中的某个变量动态传参?
发布于 2 年前 作者 wldlzt 7257 次浏览 来自 问答

如题。 假设bat是用来下载某个文档,但又不想在bat中写死,除了重新生成bat的文件内容外,有没办法直接给bat的下载地址变量进行传参?

3 回复

你可以试试用 zx 脚本来调用 (就是 nodejs 的扩展)

const p1 = 'foo'
const p2 = 123
await $`foo.bat ${p1} ${p2} `

p1, p2 参数可以通过命令行传入

// foo.mjs
const p1 =  argv.p1
const p2 = argv.p2
await $`foo.bat ${p1} ${p2} `

执行

./foo.mjs --p1=foo --p2=123

https://github.com/google/zx/

如果希望是 nodejs 程序中实现,那么可以在 js 文件中导入 zx 依赖,然后

import { $ } from 'zx'

const p1 =  'foo'
const p2 = 123
await $`foo.bat ${p1} ${p2} `

@waitingsong 谢谢谢谢,我来试下

回到顶部