BAT文件查询指定目录下的文件名,并且调用BAT文件可以传参数。

A.bat查询指定目录下的文件,并且调用B.bat文件可以传获取的文件名。

A.bat 


@echo off
:: 指定路径
set dirpath=C:\test
:: 搜索的后缀名
set ext=txt
for /r "%dirpath%" %%a in (*."%ext%") do (
echo %%a
:: 带路径的文件,获取文件名,再调用BAT传指定参数
for %%b in (%%a) do call C:\test\b.bat %%~nxa
)
pause

B.bat

@echo off
echo value %1
echo 接收完毕.....

 

如果资源学习了,可以点赞支持!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 `child_process` 模块的 `execFile` 方法来新建一个终端并运行 `.bat` 文件。 例如: ``` const { execFile } = require('child_process'); const batPath = 'path/to/your/bat/file.bat'; execFile(batPath, (error, stdout, stderr) => { if (error) { console.error(error); return; } console.log(stdout); }); ``` 在这个例子中,`execFile` 方法会新建一个终端并运行指定的 `.bat` 文件。如果运行过程中出现错误,会将错误对象作为第一个参数递给回调函数。否则,会将输出的 stdout 和 stderr 作为第二和第三个参数递给回调函数。 你也可以使用 `spawn` 方法来达到同样的目的,不过 `spawn` 方法会返回一个可写流和可读流,你可以通过这些流来与新建的终端进行交互。 例如: ``` const { spawn } = require('child_process'); const batPath = 'path/to/your/bat/file.bat'; const bat = spawn('cmd.exe', ['/c', batPath]); bat.stdout.on('data', data => { console.log(data.toString()); }); bat.stderr.on('data', data => { console.error(data.toString()); }); bat.on('exit', code => { console.log(`Child exited with code ${code}`); }); ``` 在这个例子中,我们使用 `spawn` 方法新建了一个终端,并使用 `/c` 选项来运行指定的 `.bat` 文件。然后我们通过监听 stdout、stderr 和 exit 事件来获取输出和错误信息 ### 回答2: 在Node.js中,可以通过`child_process`模块来执行外部命令并与之交互。要新建终端并调用.bat文件,可以按照以下步骤操作: 1. 首先,需要在Node.js中引入`child_process`模块: ```javascript const { exec } = require('child_process'); ``` 2. 接下来,可以使用`exec`函数来执行.bat文件,同时可以指定一个回调函数来处理执行结果: ```javascript exec('start cmd.exe /K path\\to\\your\\file.bat', (error, stdout, stderr) => { if (error) { console.error(`执行错误:${error}`); return; } console.log(`stdout: ${stdout}`); console.error(`stderr: ${stderr}`); }); ``` 这里的`start`命令用于开启一个新的终端窗口,`/K`参数用于保持窗口打开,`path\\to\\your\\file.bat`是.bat文件的路径。 3. 最后,通过运行Node.js脚本来调用.bat文件: ``` node your_script.js ``` 执行以上步骤后,Node.js会创建一个新终端窗口并调用.bat文件。你可以在回调函数中添加额外的处理逻辑,例如捕获.bat文件的输出或错误信息。 注意:在执行.bat文件时,请确保文件路径的正确性,以及.bat文件是否具有执行权限。 ### 回答3: 要在 Node.js 中新建终端并调用 bat 文件,可以使用 child_process 模块的 spawn 方法。 首先,需要在 Node.js 中引入 child_process 模块:const { spawn } = require('child_process'); 然后,使用 spawn 方法创建一个新的子进程,并将要执行的命令和参数递给它。在这个例子中,我们将调用 cmd.exe,使用 /c 参数打开新终端,并执行指定bat 文件。代码如下: const bat = spawn('cmd.exe', ['/c', 'path/to/your/bat/file.bat']); 如果你的 bat 文件位于当前目录下,可以直接使用文件名:const bat = spawn('cmd.exe', ['/c', 'file.bat']); 然后,可以通过监听子进程的输出来获取 bat 文件的执行结果。例如,可以监听子进程的 stdout 事件,并在事件处理函数中获取输出的内容:bat.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); 此外,也可以监听子进程的 stderr 事件来获取错误信息:bat.stderr.on('data', (data) => { console.error(`stderr: ${data}`); }); 最后,可以监听子进程的 close 事件来判断 bat 文件是否执行完毕:bat.on('close', (code) => { console.log(`child process exited with code ${code}`); }); 注意,spawn 方法会返回一个 ChildProcess 对象,可以用来控制子进程的行为。例如,可以使用 kill 方法来终止子进程的执行:bat.kill(); 综上所述,以上代码演示了如何在 Node.js 中新建终端并调用 bat 文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值