@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