bat命令中 rem 和 的區別

2021-09-02 19:42:52 字數 1839 閱讀 5709

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...