在批处理文本顶部先加入如下语句,就可以实现直接以管理员身份运行,如下:
@echo off
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe"
"%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) >"%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >>"%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
扩展资料:
1、批处理文件的扩展名为bat ,目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理基于强大的图片编辑软件Photoshop,用来批量处理图片的脚本。而DOS批处理则基于DOS命令的,用来自动地批量地执行DOS命令以实现特定 *** 作的脚本。
2、在复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。若实现更复杂的应用,则必须利用到外部程式,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。
bat文件可直接鼠标双击运行。
bat是dos下的批处理文件,批处理文件是无格式的文本文件,它包含一条或多条命令。
它的文件扩展名为.bat或.cmd,在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。
扩展资料:
批处理文件(batchfile)包含一系列DOS命令,通常用于自动执行重复性任务。用户只需双击批处理文件便可执行任务,而无需重复输入相同指令。编写批处理文件非常简单,但难点在于确保一切按顺序执行。
编写严谨的批处理文件可以极大程度地节省时间,在应对重复性工作时尤其有效,在Windows中善用批处理可以简化很多重复工作。
批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展名为bat。DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定 *** 作的脚本。
系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。
参考资料来源:百度百科-bat文件
第一步:准备好用于输入的文件list.txt,每次一行,形如:
20
100
"data.1.txt"
20
100
"data.2.txt"
保存为list.txt
注意,如果运行100次,每次输入3回,则list.txt应有300行。(输入内容有规律的话,也可以用批处理生成list.txt)
第二步:
(1)如果AA.exe本身是命令行程序的话,批处理文件a.bat这样写就可以了:
@echo off
(for /l %%i in (1,1,100) do AA.exe)<list.txt
(2)如果AA.exe是带有图形界面的程序的话,那就有点复杂了。我能想到的就是模拟按键输入,不知道还有没有其他好的方法。批处理文件a.bat如下:
@echo off
set cnt=100
set num=3
set "title=输入提示"
set time1=2
set time2=3
(for /l %%i in (1,1,%cnt%) do (
start "" AA.exe
ping -n %time1% 127.1 >nul
for /l %%j in (1,1,%num%) do (
set /p str=
setlocal enabledelayedexpansion
set "str=!str:"=""!"
mshta vbscript:clipboarddata.setdata("text","!str!"^)(close^)
endlocal
mshta vbscript:execute("document.write:With CreateObject(""Wscript.shell""):.AppActivate(""%title%""):.sendkeys(""^v~""):end with:self.close"^)
ping -n %time2% 127.1 >nul
)))<list.txt
exit
说明:
第二行cnt的值100:AA.exe要循环运行的次数。
第三行num的值3:AA.exe运行后会的输入次数。
第四行title的值"窗口标题":输入提示窗口的标题内容。这个是关键!如果提示窗口每次都不一样的话,这个批处理还需要修改一下。
第五行time1的值2:AA.exe启动完成所需的秒数。
第六行time2的值3:输入提示窗口相隔的秒数,最小为3。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)