iT邦幫忙

2

cmd 與 bat 或指令有什麼「大不同的地方」?

  • 分享至 

  • xImage

以上雖然大致上瞭解,我想釐清自己模糊的觀念,來這請益大夥的見解並請更想知道用 cmd 與bat 差別之處?或是優缺點...謝謝

(環境為 2000 以上)

Ruei iT邦研究生 1 級 ‧ 2008-08-08 15:46:48 檢舉
在下算是新時代的電腦人吧,就是沒有經歷時常對電腦「抽插」的年代 xd

目前用很多的都是 BAT 實在是很少用 CMD 說
davihuan iT邦新手 3 級 ‧ 2008-08-12 08:57:49 檢舉
sailsolitary 說:

板主的問題應該是尋問 .cmd 跟 .bat 的不同處吧~
沒想到回答的會錯意才會拿到最多人推薦...

+1
本篇的最佳解答真的是會錯意的結果,真的是無言。
這邊的解答正確的是fishk跟huangsb兩個人寫的版本,
會把.cmd 跟執行CMD 搞在一起的真的是讓我很沒力。
蟹老闆 iT邦大師 1 級 ‧ 2009-05-26 08:15:10 檢舉
板主的問題應該是尋問 .cmd 跟 .bat 的不同處
+1
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
32
w111927
iT邦好手 1 級 ‧ 2008-08-05 19:20:01
最佳解答

CMD啟動 Windows XP 命令直譯器新例項:

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] string]

/C 執行字串中所描述的命令然後結束命令視窗
/K 執行 字串中所描述的命令然後保留命令視窗
/S 修改字串在 /C 或 /K (參看下方)
/Q 關閉 echo
/D 從登錄中停用 AutoRun 命令(參看下方)
/A 將內部命令輸出結果以 ANSI 格式導向 pipe 或檔案
/U 將內部命令輸出結果以 Unicode 格式導向 pipe 或檔案
/T:fg 設定幕前/幕後色彩 (參看 COLOR /?)
/E:ON 啟用命令延伸 (參看下方)
/E:OFF 停用命令延伸 (參看下方)
/F:ON 啟用檔案及目錄名稱完整字元(參看下方)
/F:OFF 停用檔案及目錄名稱完整字元(參看下方)
/V:ON 啟用延遲環境變數延伸,用 c 作為分隔字元。例如,
/V:ON 可以讓 !var! 在執行時展開變數 var。文法
var 則會在輸入時展開變數,這在 FOR 迴圈之中是
完全不同的事。
/V:OFF 停用延遲環境變數展開

*.bat是批次檔 也就是可將檔案批次執行 autoexec.bat是開機自動執行的批次檔
你可以自己命名附檔名不要改,將*.bat的檔案用記事本.txt開啟,編輯完內容後另存成.bat執行後就可以了!!

26
julie8tw
iT邦研究生 4 級 ‧ 2008-08-05 17:07:29

CMD 只能下一行吧! BAT 是很多cmd的組合吧!

wordsmith iT邦高手 1 級 ‧ 2008-08-05 22:51:03 檢舉

同意,bat就是batch,就是包了很多cmd。

sailsolitary iT邦研究生 2 級 ‧ 2008-08-07 00:39:25 檢舉

板主的問題應該是尋問 .cmd 跟 .bat 的不同處吧~
沒想到回答的會錯意才會拿到最多人推薦...

16
jamesjan
iT邦高手 1 級 ‧ 2008-08-05 18:28:13
w111927 iT邦好手 1 級 ‧ 2008-08-05 19:02:17 檢舉

不是會員看不到......

jerry640 iT邦新手 1 級 ‧ 2008-08-06 09:56:31 檢舉

http://bbs-mychat.com/read.php?tid=595336
嗚~這個連結裡面slll的回答太爛了,也不對...

jamesjan iT邦高手 1 級 ‧ 2008-08-06 12:39:53 檢舉

有錯誤嗎?
或許沒有 fishk & huangsb 詳盡
但基本上沒有太大的錯誤喔

26
fishk
iT邦大師 1 級 ‧ 2008-08-05 23:39:48

網路上找到一篇文章提供你參考
http://www.velocityreviews.com/forums/t198313-cmd-vs-bat-for-winxp-batch-file.html

摘要翻譯如后:
cmd與bat的主要差別在於
1.cmd是在32-bit環境下運作, bat是在16-bit環境(command.com)下運作
2.兩者支援的環境變數(environment variables)不同, 環境變數的資訊可以在cmd或command的視窗中打入set指令後, 就可以得知.

20
cheng
iT邦好手 1 級 ‧ 2008-08-06 08:29:52

CMD是命令提示字元,就是自己下指令
而BAT是自執行檔,可將指令編輯於BAT裡
就不需像CMD一個一個慢慢下指令
所以以前DOS或是WIN31時都有一個autoexec.bat自動執行檔
系統一開機就會自動啟用autoexec.bat

15
coolvista
iT邦研究生 2 級 ‧ 2008-08-06 10:25:17

用現實生活來比喻,比如您到麥當勞點餐,
套餐:1號餐,2號餐,...==>bat(每1種套餐都包含飲料,薯條,主餐)
單點:可樂,麥香雞,...==>cmd(想吃什麼,就點什麼)

33
huangsb
iT邦好手 1 級 ‧ 2008-08-06 10:26:46

副檔名為 .bat 的批次檔是用於 Windows 98 以前的作業系統環境,由 Command.com 所解譯。

副檔名為 .cmd 只適用於 Windows NT/XP/2003 的作業系統環境。而為了相容性 .bat 也可以在 Windows NT/XP/2003 上面執行。所以在 Windows NT/XP/2003 上,.bat 和 .cmd 是相同的,因為它們都是由 cmd.exe 所解譯。

在 Windows NT/XP/2003 上增加了很多新功能和指令,所以要確保在 Windows NT/XP/2003 上所寫的批次檔不會被複製到 Windows98 以前的機器上執行,建議您還是將它的副檔名改為 .cmd,會比較安全。

感覺這篇才是版主問題的答案~^^"

19
Pankt
iT邦研究生 1 級 ‧ 2008-08-06 11:46:36

CMD 是在Windows 環境下打開(載入)一個屬於Command.com 的環境視窗,並保留了這個Command.com 環境,直到你關掉它,或下 Exit 命令回到Windows 環境。
而.Bat 則是在Windows 環境下Call Command.com 並在Command.com 環境下執行 Bath 中的命令,執行完命令,即離開(Exit)Command.com 的環境, 回到Windows 環境。

我要發表回答

立即登入回答