Windows批處理程序bat

@echo off    關閉回顯,不然腳本中的命令都會輸出,關閉後只顯示結果。windows

setlocal ENABLEDELAYEDEXPANSION 在for循環中變量擴展時須要用到瀏覽器

copy /Y mstsc.cmd %SYSTEMROOT%\     將文件複製到C:\windows目錄下面字體

regedit.exe /s mstsc.reg    註冊開機啓動項spa

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

start /WAIT newip.cmd      在主進程中啓動一個新的線程,並等待其結束token

start /WAIT iexplore.exe http://wakeup.com:8080/wol  啓動IE瀏覽器,進程遠程喚醒進程

start /WAIT mstsc.exe /f /multimon /public /v:%ip%   啓動遠程鏈接ip

echo 您好!   輸出顯示一句話文檔

ping 127.0.0.1 -n 6 > nul    延遲執行6秒的時間get

設置窗口大小和字體顏色:

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

相關文章
相關標籤/搜索