Dos程式設計學習筆記 之三

2021-05-26 02:13:01 字數 2221 閱讀 4813

1.

使用dos

命令監控程序

在unix/linux

系統上,可以很方便的使用

ps命令檢視當前程序的活動情況;而在

windows

上,也有類似的命令,就是

tasklist

。所以我們可以這樣寫乙個指令碼去監控程序是否存在並啟動它。

(假設程序名為

1.exe)

@echo off

:checkloop

tasklist |findstr /i 「1.exe」 || start 「」 「c:/1.exe」

timeout /t 5

goto :checkloop

當然我們也可以監控並殺死程序,如下:

@echo off

:checkloop

tasklist |findstr /i 「1.exe」 || taskkill /f 1.exe

timeout /t 5

goto :checkloop

另外乙個例子:

(尚未研究明白

)

@echo off

set "num=0"

:loop

for /f "tokens=2" %%i in ('tasklist ^|findstr "a.exe"') do (

if not defined %%i set %%i=%%i & set /a num+=1

if %num% gtr 5 taskkill /pid %%i /t &set /a num-=1&set "%%i="

)

ping 127.1 –n 10 >nul

goto :loop

關於tasklist

和taskkill

命令,可以檢視其幫助檔案獲取更多資訊。

2.dos

程式設計中的

setlocal

與變數延遲

先看個例子:

@echo off

set a=4

set a=5 & echo %a%

pause

執行完畢,顯示:4

再看乙個例子:(

開啟變數延遲

)

@echo off

setlocal enabledelayedexpansion

set a=4

set a=5 & echo !a!

pause

執行完畢,顯示:5

說明:dos中有乙個變數延遲的概念,沒有開啟該功能之前,變數會被預讀;而開啟了之後,就允許在執行的當前行對變數賦值,如

set a=5 & echo !a!

。這裡注意,開啟了功能之後,變數要用

」!」引起來。

沒有開啟變數延遲的情況下,某條命令列的變數改變,必須到下一條才能體現。

不適用中間變數交換二者資料,如下:

@echo off

set var1=abc

set var2=123

echo

交換前:

var1=%var1% var2=%var2%

set var1=%var2%& set var2=%var1%

echo

交換後:

var1=%var1% var2=%var2%

pause

《網頁程式設計》學習筆記之三

protocol是協議型別,一般常用的協議有 http 超文字傳輸協議 telnet 開啟telnet會話 gopher 搜尋檔案 ftp 檔案傳輸協議 mailto 傳送電子郵件 host.domain 是伺服器上的internet位址 port 是目標伺服器上的埠號 hypertext 是使用者...

WinCE學習筆記之三

wince被設計成一種分層結構,從底層至上分別為 硬體層 oem層 作業系統層和應用層。oem層又分為 oal oem介面卡 boot loader 啟動引導程式 配置檔案及驅動程式。1.oal oal是wince核心與目標硬體之間的乙個 層,主要用來處理wince核心與目標硬體裝置之間的通訊,其功...

Mysql學習筆記之三

檢視當前資料庫的引數 mysqladmin uroot proot variables mysql客戶端可以通過三種方法訪問伺服器 unix sockets named pipes tcp ip through a port。error log 啟動 執行或停止時的出現的錯誤 query log 所...