# index.js
const { exec } = require('child_process');
const util = require('node:util');
const execPromise = util.promisify(exec);
const runBothPath = 'runBoth.bat';
const execFiles = 'file1.bat,file2.bat'
const command = `powershell.exe -Command "Start-Process -FilePath '${runBothPath}' -ArgumentList '${execFiles}' -Verb RunAs -Wait"`;
const main = async () => {
try {
await execPromise(command)
console.log('done')
} catch (error) {
console.log('error')
}
}
main()
# file1.bat
@echo off
timeout /t 3
echo "Hello, file1!"
# file2.bat
@echo off
timeout /t 3
echo "Hello, file2!"
# runBoth.bat
chcp 65001
@echo off
for %%f in (%*) do (
call %~dp0%%f
)
@pause
在批处理执行中索取管理员权限
chcp 65001 > nul
NET SESSION >nul 2>&1
if %errorlevel% neq 0 (
echo 请求管理员权限...
powershell -Command "Start-Process '%~dpnx0' -Verb RunAs" >nul
exit /b
)
@echo 已经获取管理员权限。
@pause
@echo和echo的区别
不加@:显示命令和结果
echo "hello" 输出为:echo "hello" hello
加@:只显示结果,隐藏命令
@echo "hello" 输出为:hello
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。