Windows批处理程序bat

2021-02-18 20:18

阅读:691

@echo off    关闭回显,否则脚本中的命令都会输出,关闭后只显示结果。

setlocal ENABLEDELAYEDEXPANSION 在for循环中变量扩展时需要用到

copy /Y mstsc.cmd %SYSTEMROOT%\     将文件复制到C:\windows目录下面

regedit.exe /s mstsc.reg    注册开机启动项

taskkill /IM explorer.exe /f   kill掉桌面进程

start /WAIT newip.cmd      在主进程中启动一个新的线程,并等待其结束

start /WAIT iexplore.exe http://wakeup.com:8080/wol  启动IE浏览器,进程远程唤醒

start /WAIT mstsc.exe /f /multimon /public /v:%ip%   启动远程连接

echo 您好!   输出显示一句话

ping 127.0.0.1 -n 6 > nul    延迟执行6秒的时间

设置窗口大小和字体颜色:

color 0a

MODE con: COLS=100 LINES=20

mstsc.exe /?    帮助文档

 

自定义选项并根据结果进行判断:

choice  /c yn /m "输入Y表示更换ip,输入N表示保持原来的ip不变" 

if %errorlevel%==1 (set /p ip=请输入新的ip地址: 

echo !ip! > C:\windows\ip.txt

)

 

读取文件中的内容:

for /f %%i in (C:\windows\ip.txt) do (

set ip=%%i

)

 

kill掉某个进程:

for /f "tokens=2 " %%a in (‘TASKLIST /V /FI "WINDOWTITLE eq prob - prob.cmd"‘) do (

  set pid=%%a

)

taskkill /pid %pid%

 

如何检测是否能够ping同其他机器:

set flag=0

for /f "tokens=4,4 delims= " %%a in (‘ping -n 1 %ip%^|find "回复"^|sort /r‘) do (

  if "%%a" equ "字节=32" (set flag=1)

)

if %flag% == 1 (

start /WAIT alreadyStart.cmd

goto MSTSC

)else (

start /WAIT shouldStart.cmd

goto WEB

)

 

如何请求管理员权限:

>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

if ‘%errorlevel%‘ NEQ ‘0‘ (

echo 请求管理员权限...

goto UACPrompt

:UACPrompt  

echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"  

echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"  

"%temp%\getadmin.vbs"

exit /B


评论


亲,登录后才可以留言!