在命令列cmd 批處理下如何實現等待 休眠一段時間

2021-09-25 23:38:03 字數 2484 閱讀 2300

乙個簡單的問題:在你們編碼的時候,有沒有遇到過這樣乙個問題,無法實現在cmd黑視窗下或批處理中休眠(使程式等待)一段時間?

我就遇到過。

我想,總是有乙個方法的。

經過了一段時間的思考,我想到了我正學習的c++有這麼乙個庫:

windows.h(windows sdk)

下面有專門使程式休眠的乙個函式,大佬們肯定已經猜到了,就是下面這個:

//typedef unsigned long dword;

void _stdcall sleep

(dword dwmilliseconds)

;//ps:在引數中填的是毫秒數 1s=1000ms

這個sleep函式,為編寫c++程式的猿們提供了便利。不用去想那些偏門方子。

而我,也想拿這個練練手,把sleep包裝一下。

成為乙個功能強大,方便程式設計師的小工具:ezwait。(easywait

這個程式通過接受命令行引數列表來識別使用者發出的命令。

所以,第一步,main函式要這麼寫

int

main

(int argc,

char

* ar**)

//argc引數個數arg count,ar**引數指標陣列

再者,我們不可能一次執行只收集1個引數,所以我們利用for迴圈來持續讀取引數。

for

(int i=

0;i)

細心的你們可能已經注意到了,我特意跳過了第乙個引數的讀取。

這是因為,經歷我的親身試驗:

#include

using

namespace std;

intmain

(int argc,

char

* ar**)

return0;

}//編譯為wait.exe

編譯後,在cmd下cd程式目錄,加上引數執行:

c:\>wait hello world

args: wait hello world

c:\>

發現沒有,一開始的wait也被算入了引數列表。

如果第乙個引數,沒意義的引數被判斷一遍是否是某些功能需要的引數,那麼雖然不會引起bug,但是會造成記憶體的浪費。

所以我將其跳過。

//定義判斷引數是否是數字的函式

bool

ifallnum

(string arg)

return

true

;}

.//前面新加一下#include #include 和 using namespace std;

string arg=ar**[i];if

(arg==

"-remind"

||arg==

"-r")}

if(ifallnum

(arg)

)

if

(arg==

"-remind"

||arg==

"-r"

)//注意!

//先提示資訊

cout<<

"即將等待"

<

//後利用goto跳至sleep模組

goto ready_to_sleep;

//如果等待時間字串不是數字

//也交給ready_to_sleep模組處理

}ready_to_sleep:if(

ifallnum

(arg)

)else

編譯。

在命令列中進行除錯。

c:\>wait  //注:沒有反應是為什麼呢?結合**思考思考

c:\>wait 1000

//注:此處等待1秒

c:\>wait 50s

引數無效 //也想一想,為什麼沒用?

c:\>wait -r

缺少等待時間

c:\>wait -remind 2000

即將等待

//注:此處等待2秒

c:\>

謝謝您**本工具的程式設計思想。

喜歡的話麻煩動動滑鼠留下乙個點贊吧!

在cmd命令列下建立爬蟲工程

建立爬蟲檔案 1.建立乙個scrapy工程 scrapy startproject 檔名 2.輸出所有可用模板資訊 scrapy genspider l 3.建立爬蟲檔案的模板 scrapy genspider t basic 檔名 baidu.com 4 測試爬蟲檔案 scrapy check 爬...

批處理的ftp命令列

最近在研究cc.net,根據需求要將生成的發布檔案放到ftp伺服器上,於是就研究了這方面的資料,供朋友們共享 1 ftp上傳的命令 格式 ftp s 配置檔案 ftp位址 如 ftp s c vc ftpconfig.txt 211.155.224.210 ftpconfig.txt的檔案內容是 u...

使用rar在命令列 cmd 下打包目錄

e recycler rar.exe a k r s m1 e wwwroot web web.rar e wwwroot web 引數說明 a 新增檔案到壓縮檔案中 k 鎖定壓縮檔案 s產生固體存檔,這樣可以增大壓縮比 r包括子目錄 m1 設定壓縮比 m0 儲存 新增到壓縮檔案時不壓縮檔案。m1 ...