作者 主題: BAT or CMD 檔可以迴圈嗎?  (閱讀 19672 次)

0 會員 與 1 訪客 正在閱讀本文。

casa

  • 懷疑的國中生
  • **
  • 文章數: 41
    • 檢視個人資料
BAT or CMD 檔可以迴圈嗎?
« 於: 2005-05-17 23:07 »
想請教一下,如果想在 BAT or CMD 檔裡面做很簡單的迴圈,不知道可以做到嗎?
像是跑某一段程式十次,在批次檔裡面做得到嗎?
謝謝!

roy1103

  • 憂鬱的高中生
  • ***
  • 文章數: 99
    • 檢視個人資料
值得參考 範例
« 回覆 #1 於: 2005-05-18 00:48 »
值得參考 範例

http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=62937

補充 :

關於  迴圈  basic 我會 ,Dos 我不會.

麻煩他人解說;

奇怪  我當年  計概怎麼過得 @.@

CHOICE 在 XP 下能使用嗎 不行

copy 來msdos 6 的話 使用 沒 try 過 .

既然您有一段程式  自己改寫吧 !

個人大概都不會.:P

panachen

  • 懷疑的國中生
  • **
  • 文章數: 57
    • 檢視個人資料
BAT or CMD 檔可以迴圈嗎?
« 回覆 #2 於: 2005-05-18 05:56 »
好文章,謝謝

casa

  • 懷疑的國中生
  • **
  • 文章數: 41
    • 檢視個人資料
BAT or CMD 檔可以迴圈嗎?
« 回覆 #3 於: 2005-05-18 18:07 »
謝謝您提供這篇文章,不過文章中對於迴圈的處理只有 FOR
對於 FOR 的使用上,要搭配已經存在的檔案來判斷是否迴圈...
這個條件對於我想跑十次來講,似乎也不方便...

如果在不搭配其他程式的話,有辦法做到嗎?

另外,文章中的 CHOICE 在 XP 下能使用嗎?

謝謝!

casa

  • 懷疑的國中生
  • **
  • 文章數: 41
    • 檢視個人資料
BAT or CMD 檔可以迴圈嗎?
« 回覆 #4 於: 2005-05-18 18:10 »
另外,再請教一個問題...
在批次檔裡面用 ECHO "什麼字" 之後
能不能不換行呢? 可以接在 "什麼字" 的後面繼續顯示?

謝謝大家的幫忙!

panachen

  • 懷疑的國中生
  • **
  • 文章數: 57
    • 檢視個人資料
BAT or CMD 檔可以迴圈嗎?
« 回覆 #5 於: 2005-05-18 22:31 »
因為這二天剛好在研究BAT的問題,分享一下google搜尋的結果,
這裡面有你要的,用BAT做出像FOR( i = 1; i <= n; i++ )的效果

http://gearbox.maem.umr.edu/batch/batchtoc.htm

sct181

  • 活潑的大學生
  • ***
  • 文章數: 329
    • 檢視個人資料
BAT or CMD 檔可以迴圈嗎?
« 回覆 #6 於: 2005-05-19 10:43 »
引述: "casa"
謝謝您提供這篇文章,不過文章中對於迴圈的處理只有 FOR
對於 FOR 的使用上,要搭配已經存在的檔案來判斷是否迴圈...
這個條件對於我想跑十次來講,似乎也不方便...

如果在不搭配其他程式的話,有辦法做到嗎?

另外,文章中的 CHOICE 在 XP 下能使用嗎?

謝謝!


ifexist  再加上 goto
是不是你想要的。

casa

  • 懷疑的國中生
  • **
  • 文章數: 41
    • 檢視個人資料
BAT or CMD 檔可以迴圈嗎?
« 回覆 #7 於: 2005-05-19 13:21 »
引述: "panachen"
因為這二天剛好在研究BAT的問題,分享一下google搜尋的結果,
這裡面有你要的,用BAT做出像FOR( i = 1; i <= n; i++ )的效果

http://gearbox.maem.umr.edu/batch/batchtoc.htm


讚!! 太謝謝您了!!

for i=1 to 5 的話,我的解法: (調整 i or n 成為幾個 ! 就好了)


@ECHO off
set n=!!!!!!
set i=!
:loop
set i=%i%!
echo "abcd"
if %i%==%n% goto end
goto loop
:end
ECHO on

johnnytw

  • 可愛的小學生
  • *
  • 文章數: 16
    • 檢視個人資料
BAT or CMD 檔可以迴圈嗎?
« 回覆 #8 於: 2005-05-19 13:45 »
http://www.portsonline.net/tools/gnp2.zip

手動下載更新Batch File 或許可參考看看

dnl

  • 可愛的小學生
  • *
  • 文章數: 21
    • 檢視個人資料
BAT or CMD 檔可以迴圈嗎?
« 回覆 #9 於: 2005-05-19 16:24 »
工作環境: xp (其他版本的 windows 要先測試才知道跑不跑的動,主要差異應該是在於 for 支不支援迴圈功能)
如果只是單純要"跑幾次"這樣的功能、xp 裏的命令列模式一定是 ok 。
只是限制會在於 for 只能在後面加"一行"指令,不像 bash 可以包一大段指令進來。
所以要用呼叫(call)副程式(批次檔)的方式來避開這個限制。
可以用數字當作執行次數的依據應該是會比較人性化(吧)。
習慣上我應該會這樣寫:
代碼: [選擇]
echo off
echo echo %%1 > temp.bat
echo echo %%1 is >> temp.bat
for /L %%a in (1,1,%1) DO call temp.bat %%a
del temp.bat

第二、三行用 echo 和重導向把要呼叫的副程式直接在同一隻批次檔中產生,也是個人習慣。
然後用 for 決定呼叫 temp.bat (剛剛重導向後產生的批次檔)的次數。
最後刪掉 temp.bat 。

有件事要說明一下,這樣子的寫法是向下不相容的(例:win98不支援)。