bat檔案
是dos下的批處理檔案
。批處理檔案是無格式的文字檔案,它包含一條或多條命令。它的副檔名
為 .bat 或 .cmd。在命令提示下鍵入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫cmd.exe按照該檔案中各個命令出現的順序來逐個執行它們。使用批處理檔案(也被稱為批處理程式
或指令碼),可以簡化日常或重複性任務。
bat命令中rem和:: 的區別
rem和::都起到注釋的作用,然而又有些不同。
一、rem是一條命令,在執行的時候相當於把rem本身及其後面的內容置空。既然它是一條命令,就必須處於單獨的一行或者有
類似「&」的連線符號連線。
二、批處理遇到以冒號「:」開頭的行時(忽略冒號前的空格),會將其後的語句識別為「標記」而不是命令語句,因此類似
「:label」這樣的東東在批處理中僅僅是乙個標記。
三、對於「::」而言,之所以可以達到注釋的效果,是因為第二個:不是標籤的合法字元(把它換成\;.等等都行),它不被當
作乙個合法的標籤
這一點很好理解,如果在你的批處理中有乙個永遠用不到的標籤hero,那麼你就可以用「:hero」打頭來作為注釋。只不過
冒號有其先天的優越性--語法上的問題。
好了,我們現在回過頭來看看call。比如「call:hero」,為什麼要有冒號?這是為了與檔案hero區分。
四、嗯,我想你已經明白我的意思了,下面我將為你解釋一些奇妙的東西。
經驗告訴我們,在復合語句中使用「:」經常會出問題。那麼究竟什麼時候會出現問題?
例1、複製內容到剪貼簿
**:@echo off
@ %%i
for %%i in (a b c) do (
:來瓶啤酒
echo hero!
echo %%i
pause
這個執行沒問題。
注:%%i 是for命令中獨有的變數引數,由for命令進行解釋,而且僅在for迴圈中有效。
例2、複製內容到剪貼簿
**:@echo off for %%i in (a b c) do (
echo hero!
:來瓶啤酒
echo %%i
pause
這個執行也沒問題。
例3、複製內容到剪貼簿
**:@echo off
for %%i in (a b c) do (
echo hero!
echo %%i
:來瓶啤酒
pause
這個就有問題了。
例4、複製內容到剪貼簿
**:@echo off
if a==a (
echo super!
echo hero!
:來瓶啤酒
pause
這個也有問題。
例3和例4都提示--「此時不應該有)」。我們用眼看就能得到乙個結論--標籤所在行的下一行不能是後括號「)」。不過很
遺憾,看例5
例5、複製內容到剪貼簿
**:@echo off
echo super!
echo hero!
:來瓶啤酒
pause
執行沒問題,看來問題還出在復合語句上而不僅僅是後括號「)」上。
如果這不是批處理的乙個bug的話,那麼請允許我大膽的猜測一下。回顧一下例4,「:來瓶啤酒」是復合語句塊的最後一
句,此後該語句塊中就沒有語句了,如果此時有乙個goto語句跳轉過來,那麼系統將無法識別下一句究竟是哪個而導致混
亂,為避免這種情況的發生,系統就設定了這麼乙個錯誤。
至於「::」的情況,其實也是乙個道理,系統只知道它是乙個標籤而不進行處理,其它的「難題」都交給goto。
批處理BAT命令REM 和
rem 為注釋命令,一般用來給程式加上註解,該命令後的內容不被執行,但能回顯。其次 也可以起到 rem的注釋作用 而且更簡潔有效 但有兩點需要注意 第一 任何以冒號 開頭的字元行 在批處理中都被視作標號 而直接忽略其後的所有內容。有效標號 冒號後緊跟乙個以字母數字開頭的字串,goto 語句可以識別。...
css中rem和em的區別
國內的設計師大都喜歡用px,而國外的 大都喜歡用em和rem,那麼三者有什麼區別,又各自有什麼優劣呢?px特點 1.ie無法調整那些使用px作為單位的字型大小 2.國外的大部分 能夠調整的原因在於其使用了em或rem作為字型單位 3.firefox能夠調整px和em,rem,但是96 以上的中國網民...
css中em和rem的區別
在css中單位長度用的最多的是px em rem,這三個的區別是 px是固定的畫素,一旦設定了就無法因為適應頁面大小而改變。em和rem相對於px更具有靈活性,他們是相對長度單位,意思是長度不是定死了的,更適用於響應式布局。對於em和rem的區別一句話概括 em相對于父元素,rem相對於根元素。re...