You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不修改批处理文件的情况下自动填充SQLPlus凭据

解决方案

要实现先完成Update.bat的凭据填充并执行完毕,再自动处理Delete.bat,需要解决两个核心问题:确保脚本等待Update.bat执行完成后再启动Delete.bat,以及给新启动的批处理窗口留出足够加载时间避免按键发送失效。

修改后的混合脚本如下:

@if (@CodeSection == @Batch) @then

@echo off
set "username=test"
set "password=1234"

:: 处理Update.bat
start /wait "" "Update.bat"
:: 等待窗口加载,可根据实际情况调整延迟时间(单位:秒)
timeout /t 1 /nobreak >nul
CScript //nologo //E:JScript "%~F0" "%username%{tab}%password%{enter}"

:: 处理Delete.bat
start /wait "" "Delete.bat"
timeout /t 1 /nobreak >nul
CScript //nologo //E:JScript "%~F0" "%username%{tab}%password%{enter}"

goto :EOF

@end

WScript.CreateObject("WScript.Shell").SendKeys(WScript.Arguments(0));

关键修改说明

  • 使用start /wait启动批处理文件:该参数会让脚本等待启动的批处理窗口完全关闭(即执行完毕)后,再继续执行后续代码
  • 添加timeout /t 1 /nobreak >nul:给新启动的批处理窗口留出1秒加载时间,避免SendKeys在窗口准备好之前发送按键导致无效
  • 重复启动+等待+发送按键的逻辑,分别完成Update.bat和Delete.bat的自动处理

注意事项

  • 如果系统加载速度较慢,可以调整timeout的时间(比如改成timeout /t 2表示等待2秒)
  • SendKeys的按键序列中,{tab}用于切换到密码输入框,{enter}用于确认输入,确保和原批处理的输入顺序匹配

内容的提问来源于stack exchange,提问作者John Davis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 12:59:58