【求助】請問這批次檔哪出問題了呢?

顯示結果從第 1 筆 到 6 筆,共計 6 筆
  1. #1
    sai
    sai 目前未上線
    會員 sai 的大頭照
    註冊日期
    2004-03-16
    討論區文章
    283

    【求助】請問這批次檔哪出問題了呢?

    我做了一個偵測光碟是否正確而自動接續安裝軟體的BATCH
    不過問題在於無窮迴圈啊..不會自動執行下一行
    FOR %%d IN (c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u: v: w: x: y: z DO IF EXIST %%d\CD.HTM (SET CDROM=%%d)ELSE goto findcd
    這是其中關鍵所在.我是哪裡做錯了呢??
    請各位大大幫忙看看了~"~

    **我做出來新的批次了.模擬結應該是沒問題的
    可以IF NOT A THEN B
    不過還是請各位幫我看看有沒什麼缺失或可以改進的
    拜託了
    **再次修改批次.使其可以即時偵測到%CDROM%\CD.HTM


    附加檔案 附加檔案

  2. #2
    會員
    註冊日期
    2002-08-27
    所在地區
    難說
    討論區文章
    1,448
    我把它改成這樣:
    語法:
    @echo off
    
    ECHO.
    ECHO 即將自動安裝OfficeXP
    ECHO.
    set cdrom=
    :findcd
    FOR %%d IN (C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) DO IF EXIST %%d:\CD.HTM set cdrom=%%d
    if %cdrom%a==%a goto nocd
    
    ECHO 在 %cdrom% 找到OFFICE了
    ::ECHO 安裝中...
    ::start /wait %CDROM%\Office\setup.exe transforms=full.mst /QB
    ::start /wait %CDROM%\Office\Plugin\BiDict.msi /QB
    ::start /wait %CDROM%\Office\Plugin\tcscconv.msi /QB
    ::start /wait %CDROM%\Office\Plugin\symsetup.exe /Q
    ::start /wait %CDROM%\Office\Plugin\rhd.msi /QB
    goto end
    
    :nocd
    ECHO 請插入 SelfXP_Office 光碟
    PAUSE
    goto findcd
    
    :end
    是可以執行, 不過會跳出幾個錯誤視窗說 "磁碟機中沒有磁片. 請在磁碟機 \Device\Harddisk2\DRx 中插入磁片"
    雖然一直按 "繼續" 就可執行到底, 但總是麻煩...

    還不知道問題出在哪, 現在也還沒時間去設法解決這個錯誤訊息, 不過總是解決了語法上的問題. 暫時就先這樣吧, 若有人知道還請指點一二.

    PS. 為了測試方便, 我把執行安裝的指令部份都加上 :: 暫時取消掉, 你可自行再啟用.

  3. #3
    會員
    註冊日期
    2002-08-27
    所在地區
    難說
    討論區文章
    1,448
    找到原因了, 原來是因為我插著讀卡機, 裡面又沒放卡片的緣故...
    也就是說, 如果 A-Z 碟裡有任何一碟是卸除式存放裝置 (例如讀卡機或光碟機) 而裡面沒放東西的話, 就會跳出視窗說找不到磁片. 我把讀卡機拔掉就什麼事都沒了.

    不過這也表示你光碟裡如果沒有放片子, 這個警告視窗還是會跳出來 (雖然只要按 "繼續" 就行了)...

  4. #4
    sai
    sai 目前未上線
    會員 sai 的大頭照
    註冊日期
    2004-03-16
    討論區文章
    283
    謝謝jute啊,你改出來的指令簡單很多@"@
    不過if %cdrom%a==%a goto nocd我不明白是什麼意思
    是可以猜出來.不過看是看不懂耶@"@能說明一下嗎?
    那個視窗我也有踫到,不過因為那是在沒放入正確光碟時才會出現的
    所以我就不管了.反正也是個要求放入碟片的訊息

  5. #5
    會員
    註冊日期
    2002-08-27
    所在地區
    難說
    討論區文章
    1,448
    引用 作者:sai
    謝謝jute啊,你改出來的指令簡單很多@"@
    不過if %cdrom%a==%a goto nocd我不明白是什麼意思
    是可以猜出來.不過看是看不懂耶@"@能說明一下嗎?
    那個只是在檢查 %cdrom 這個值是不是空白.
    如果它是空白的話, 就表示沒有找到 Office 光碟, 於是跳到 :nocd 去.

    寫成這樣可能比較易懂:
    if cdrom + a = a then goto nocd

    不管 a 裡面有什麼, 若 cdrom+a=a, 那麼 cdrom 就是空的.
    在 VB 裡, 你可以用 if cdrom="" 來判斷, 但"" 在批次語言裡似乎沒啥作用, 所以用上述方法.



  6. #6
    sai
    sai 目前未上線
    會員 sai 的大頭照
    註冊日期
    2004-03-16
    討論區文章
    283
    喔喔~~了解.就是以數學觀念來看嘛
    如果CDROM=0時,才會CDROM+a=a
    原來是這樣喔~我當時一直想,要怎麼寫找不到的指令...才寫
    IF NOT EXIST %CDROM%\CD.HTM ....

類似的主題

  1. 【問題】各位高手幫我看看BT設定哪出問題了(有圖)
    作者:kuennan 所在討論版:---- ADSL 連 線 測 速 版
    回覆: 2
    最後發表: 2006-10-22, 01:48 PM
  2. 【求助】批次檔的問題
    作者:shung0116 所在討論版:-- Windows 討 論 版
    回覆: 2
    最後發表: 2005-01-25, 06:26 PM
  3. 【求助】批次檔的問題
    作者:shung0116 所在討論版:-- HELP ME 電 腦 軟 硬 體 急 救 版
    回覆: 1
    最後發表: 2004-06-15, 02:51 PM
  4. 【求助】找不到哪出問題...
    作者:kk5210 所在討論版:-- HELP ME 電 腦 軟 硬 體 急 救 版
    回覆: 8
    最後發表: 2003-12-25, 02:02 AM
  5. 【求助】linux 一直裝不起來是哪出問題呀
    作者:alexand500 所在討論版:-- FreeBSD & Linux 討 論 版
    回覆: 13
    最後發表: 2003-08-19, 09:10 AM

 

此網頁沒有從搜尋引擎而來的訪客

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •