2008-10-07 42 views

回答

16

這不是免費的,但它可能是最好的。 "Windows NT Shell Scripting" by Tim Hill

也就是說,每當我嘗試在cmd批處理文件中做一些'高級'時,我總是會後悔自己。

總是。

編輯:批處理文件的缺點的一些解釋:

  • 數學能力是可悲
  • 引用的支持是一種事後的想法 - 如果你需要傳遞帶引號的字符串作爲參數的命令需要被引用本身,在庇護保留一個位置(實際上,我不知道這是可能的)
  • 字符串操作是半實現的功能拼湊

然後,你總是碰到一些看似無休止的古怪事物,角落案例和不一致的地方。

批處理文件唯一要做的就是它們在每個Windows盒子上都支持。如果你只是想自動執行一些命令作爲一個組,很好。也許增加一個簡單的循環,一些子程序和一些環境變量來參數化事物。除此之外,我強烈建議你使用別的東西。

+0

您是否建議使用腳本語言? – 2008-10-07 23:01:13

3

Stack Overflow可能嗎?

https://stackoverflow.com/questions/tagged/batch-file

我發現真正有用的是保存所有的內置CMD.EXE幫助文件。在cmd.exe中鍵入「help」,這將顯示一大串幫助你的命令,對於每個類型的幫助<命令>,然後將結果保存到適當命名的文件中。我個人覺得以文件形式閱讀幫助信息要方便得多。

此外,我非常同意邁克B的禁止使用批處理文件太多。對於任何不平凡的任務,使用比批處理更強大的語言幾乎總是更好。如果您的批處理文件在打印時超過一頁長度,您幾乎肯定會爲此感到後悔。

4

還考慮學習Windows Scripting Host作爲批處理腳本的替代方法。您可以使用您選擇的語言編寫腳本(JScript,VBScript,甚至是Python)。它受到每個現代Windows版本的支持,並提供功能豐富的函數庫,使批處理文件看起來比較原始。

我在說什麼? Windows批處理文件ARE原始。

您還可以創建可重用的WSH庫,模塊等。與批處理文件相比,有一些學習曲線,但非常值得。我的Linux朋友不再取笑我低劣的腳本環境。現在他們只是取笑我的劣質操作系統。