Bat腳本-timeout 命令(延時執(zhí)行)
概述
做一個延時執(zhí)行的批處理命令,選用timeout命令來實現(xiàn),但是碰到一個情況是寫完后直接雙擊運行時,timeout 命令運行不了,每次運行到timeout的時候,命令就會跳到.bta文件的開頭重新執(zhí)行,后來選擇管理員權(quán)限運行就可以了。
命令-timeout
在命令行中運行
timeout /?
可以得到該命令的說明
C:\Users\L>timeout /?
TIMEOUT [/T] timeout [/NOBREAK]
描述:
這個工具接受超時參數(shù),等候一段指定的時間(秒)或等按任意鍵。它還接受
一個參數(shù),忽視按鍵。
參數(shù)列表:
/T timeout 指定等候的秒數(shù)。有效范圍從 -1 到 99999 秒。
/NOBREAK 忽略按鍵并等待指定的時間。
/? 顯示此幫助消息。
注意: 超時值 -1 表示無限期地等待按鍵。
示例:
TIMEOUT /?
TIMEOUT /T 10
TIMEOUT /T 300 /NOBREAK
TIMEOUT /T -1
問題復(fù)現(xiàn)
然后參考大哥們的方法寫了以下代碼,保存成timeout.bat文件;
@echo off rem 打印當(dāng)前時間 echo 當(dāng)前時間【%time%】 rem 進行延時5s timeout /nobreak /t 5 rem 延時后的時間 echo 延時后的時間【%time%】 rem 加入需要執(zhí)行的代碼-開始 rem 加入需要執(zhí)行的代碼-結(jié)束 pause
雙擊運行后出現(xiàn)以下界面;

一直在重復(fù)打印時間;
然后我把回顯打開后發(fā)現(xiàn);
::@echo off
代碼每次運行到timeout這里都沒有執(zhí)行,然后就跳到文件的第一行去了;

解決方案
使用管理員權(quán)限運行就不會重新跳到第一行

總結(jié)
bat命令需要查看權(quán)限,注意使用win+R進入cmd是具有管理員權(quán)限的,但是直接雙擊打開的bat文件是沒有管理員權(quán)限的,沒有對應(yīng)的權(quán)限,有些對系統(tǒng)級別的控制,會出現(xiàn)奇怪的現(xiàn)象。
相關(guān)文章
cmd批量打開網(wǎng)頁和關(guān)閉網(wǎng)頁的批處理代碼
這篇文章主要介紹了cmd批量打開網(wǎng)頁和關(guān)閉網(wǎng)頁的批處理代碼,需要的朋友可以參考下2017-03-03
使用批處理命令設(shè)置windows系統(tǒng)的ip地址和dns附圖
這篇文章主要介紹了如何使用批處理命令設(shè)置windows系統(tǒng)的ip地址和dns,需要的朋友可以參考下2014-06-06
批處理代碼搞定Windows下Nginx+PHP(FastCGI)管理
今天在家沒事,自己用批處理寫了個Windows下的Nginx+PHP管理程序。2010-03-03

