CNode

请教一下大家,用node.js调用bat脚本时,如何给bat脚本中的某个变量动态传参?

问答
Wwldlzt发布于4 年前最后回复4 年前3 回复8678 浏览0 收藏

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

查看回复

回复 (3)

W
waitingsong#1·4 年前

你可以试试用 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/

W
waitingsong#2·4 年前

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

import { $ } from 'zx'

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

参与回复
登录后即可参与回复。登录