none
WIindows Server 2003 中文版,要用使指令來新增工作排程時,如果指定只在單數月份執行呢? RRS feed

  • 問題

  • WIindows Server 2003 中文版中,使用指令來新增排程時,

     

    schtasks /create /SC 每月  /MO 2 /D 1 /tn "test" /tr c:\dns.bat /st 01:00

    上列的指令可以使排程每2個月執行一次,執行月份為2,4,6,8,10,12月,

     

    但如果要使執行月份為1,3,5,7,9,11月份的話,需要怎麼下指令?

     

    由於是中文版的,我試過使用

    schtasks /create /SC 每月  /m JAN  /D 1 /tn "test" /tr c:\dns.bat /st 01:00

    來新增一個只在1月執行的指令,但是卻是得到參數錯誤

     

    一般的xp作業系統的話,下列的指令就可以成功

    schtasks /create /SC monthly  /m JAN  /D 1 /tn "test" /tr c:\dns.bat /st 01:00

    不知道否有辦法解決,謝謝。

    2011年3月24日 下午 12:54

解答

  • 嘗試先輸入下列指令:
    chcp 437

    接著才輸入 schtasks 指令,且是全英文的指令,例如:

    chtasks /create /SC monthly /m JAN,MAR,MAY,JUL,SEP,NOV /D 1 /tn "test" /tr c:\dns.bat /st 01:00



    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    • 已標示為解答 visitpp 2011年3月28日 上午 11:33
    2011年3月25日 下午 05:04

所有回覆

  • Hi visitpp

    建議你可以看一下這一篇討論文章

    因為假如是2003 Server 中文版,dailyweeklymonthly的指令一定要轉成中文輸入

    Daily: 每日  Weekly: 每週  Monthly: 每月

    schtasks /create /SC 每週 /MO 1 /D MON /tn "test" /tr c:\dns.bat /st 01:00

    2011年3月25日 上午 09:29
  • HI 版主你好

    你po的文章我有看過了,我也知道在2003 Server中文版中,週期需要以中文來下指令,

    我現在需要知道的是,如果要在2003 Server中文版中,實現以指令來新增一個工作排程,

    要使執行月份為1,3,5,7,9,11月份的話,需要怎麼下指令?

     

    本來我試過想要以

    schtasks /create /SC 每月  /m JAN  /D 1 /tn "test" /tr c:\dns.bat /st 01:00

    來新增一個只在1月執行的指令,如果成功我就可以進一步,直接指定在1、3、5、7、9、11月份去執行就可以了,

    但是卻是得到參數錯誤,他指的是我在/m的部份參數不正確,所以,我需要知道究竟在2003 Server中文版裡,

    我需要怎麼來下指定月份,也就是/m的參數,麻煩版主以及有經驗的高手再幫幫忙,謝謝。

     

     

    2011年3月25日 下午 12:52
  • 嘗試先輸入下列指令:
    chcp 437

    接著才輸入 schtasks 指令,且是全英文的指令,例如:

    chtasks /create /SC monthly /m JAN,MAR,MAY,JUL,SEP,NOV /D 1 /tn "test" /tr c:\dns.bat /st 01:00



    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    • 已標示為解答 visitpp 2011年3月28日 上午 11:33
    2011年3月25日 下午 05:04
  • 謝謝Alex Chuo的幫忙,chcp 437這樣的指令確實可以幫到我,

    不過我還有一個小問題,由於我執行程式的名稱有中文字,如果改為437(美國)的話,

    中文的部份會變亂碼,執行就會有問題。

     

    如果可以的話,不知道有沒有辦法讓我可以在有中文字的情況下,

    實現用指令新增一個在1、3、5、7、9、11月份才會執行工作排程呢,

    謝謝幫忙。

    2011年3月28日 上午 11:37
  • 試看看:schtasks 呼叫批次檔,在這個批次檔裡面有執行所需的中文字



    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    2011年3月28日 下午 12:26
  • 不好意思,請問Alex Chuo,您說的schtasks呼叫批次檔,我不懂耶,不知道要怎麼作??

     

    我自己目前的作法,是先建立一個批次檔,隨便取,叫test.bat好了

    然後裡面的指令則是

    chcp 437

    schtasks /create /SC monthly /m JAN,MAR,MAY,JUL,SEP,NOV /D 1 /tn "test" /tr c:\單數月.bat /st 01:00

     

    再來,我要新增工作的話,只需要點2下test.bat讓他執行,就可以產生我要的工作排程了,

    但是,當我去檢查那個排程時,本來應該是要去執行  c:\單數月.bat這個路徑,卻因為中文變成了亂碼。

    以上是我的狀況。

     

    我試著用直接在cmd下打schtasks test.bat這樣的指令,卻是錯誤的...

    麻煩您再幫忙一下,schtasks呼叫批次檔,這個方法我要怎麼作?

    謝謝。

     

    2011年3月28日 下午 01:49
  • 請在 cmd 直接打 test.bat 就可以了.

    如果因為批次檔是中文, 不能執行的話, 那么你可以用下列方法解決.

    1. 為 單數月.bat 建立永久連接, 比如: monthly.bat.

    命令:

    fsutil hardlink create c:\monthly.bat c:\單數月.bat

    需要注意的是 monthly.bat 和 單數月.bat 必須在同一個磁碟區.

    關于 fsutil hardlink 命令的更多訊息, 請參閱:

    Fsutil:hardlink
    http://technet.microsoft.com/zh-tw/library/cc772756%28WS.10%29.aspx

    中文版把 syntax 示例中的空格字元去掉了. 這裏也提供英文版:

    http://technet.microsoft.com/en-us/library/cc772756%28WS.10%29.aspx

    然後將批次檔 test.bat 的指令修改為:

    chcp 437

    schtasks /create /SC monthly /m JAN,MAR,MAY,JUL,SEP,NOV /D 1 /tn "test" /tr c:\monthly.bat /st 01:00:00

    這個方法利用永久連接的特性, 只需修改 單數月.bat 就能同步修改 monatlich.bat 裏的指令, 執行工作排程也不因為有路徑有中文名稱而執行失敗.

    也可以這樣做:

    fsutil hardlink create  c:\工作排程設定\單數月.txt c:\monthly.bat

    一個用于設定, 一個用于執行.


    Folding@Home

    2011年4月16日 下午 01:36